expo: [expo-av] Android build fails with "cannot find symbol class Nullable"

🐛 Bug Report

Environment

Bare React Native app with Expokit react-native@0.60.4 react@16.8.6 expo-av@6.0.0 react-native-unimodules@0.5.4

Steps to Reproduce

npm run android

Expected Behavior

Should build project without issues.

Actual Behavior

Build fails with the following error:

error: cannot find symbol class Nullable

I migrated my project to AndroidX and run jettifier on build. It doesn’t matter if I build with Android Studio or via React Native CLI.

Reproducible Demo

Sadly hard to share as it’s directly tied to the build process.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 4
  • Comments: 23 (10 by maintainers)

Commits related to this issue

Most upvoted comments

I have the same error with expo-constants in ExpoKit 35 version

@vladp - if you init a new bare workflow project it has jetifier set up and you can look at that as an example

I’m facing the same issue, it kept throwing following errors and my build is failing Screenshot 2019-08-30 at 9 41 17 PM

until it gets fixed, is there any workaround? @brentvatne @cruzach

Not sure if this post is contributing, but I’m in the same boat. Ejecting from expo was a headache and a half so I started a new project with react-native init and have been adding the expo modules back in.

All the ones I was using (see below) work except for expo-av. I suspect it has everything to do with react-native being version ^0.60.0 because of this, but curious that only expo-av has a problem. Would be nice if jetifier would migrate it to AndroidX also as I understand it does with other legacy libraries.

    "expo-av": "^6.0.0",
    "expo-barcode-scanner": "^6.0.0",
    "expo-contacts": "^6.0.0",
    "expo-image-picker": "^6.0.0",
    "expo-linear-gradient": "^6.0.0",
    "expo-location": "^6.0.0",
    "expo-permissions": "^6.0.0",

@cruzach Originally the project was created without Expo (react-native init). I added expo sdk with unimodules afterwards and use the original React Native. So not the managed way, might have worded this wrong in my issue. Worked fine for me so far. iOS also works without any problems, just Android doesn’t build because of expo-av only.