I had this error when trying to build expo app on Android with [email protected]. It works fine on IOS.
error
> Task :expo-camera:compileDebugKotlin
e: file:///.../app/node_modules/expo-camera/android/src/main/java/expo/modules/camera/ExpoCameraView.kt:279:25 Unresolved reference: raw
e: file:///.../app/node_modules/expo-camera/android/src/main/java/expo/modules/camera/next/ExpoCameraView.kt:424:25 Unresolved reference: raw
e: file:///.../app/node_modules/expo-camera/android/src/main/java/expo/modules/camera/next/analyzers/BarcodeAnalyzer.kt:54:81 Type mismatch: inferred type is String? but (Mutable)List<Int!>! was expected
e: file:///.../app/node_modules/expo-camera/android/src/main/java/expo/modules/camera/next/analyzers/BarcodeAnalyzer.kt:54:86 Type mismatch: inferred type is MutableList<Int> but Int was expected
e: file:///.../app/node_modules/expo-camera/android/src/main/java/expo/modules/camera/next/analyzers/BarcodeAnalyzer.kt:54:113 Too many arguments for public constructor BarCodeScannerResult(p0: Int, p1: String!, p2: (Mutable)List<Int!>!, p3: Int, p4: Int) defined in expo.modules.interfaces.barcodescanner.BarCodeScannerResult
> Task :expo-camera:compileDebugKotlin FAILED
Some info: package.json
"expo": "^50.0.6",
"expo-camera": "14.0.6",
"react-native": "0.73.4",
app.json
{ expo: {
"plugins": [
[ "expo-camera",
{
"cameraPermission": "Allow $(PRODUCT_NAME) to access your camera",
"microphonePermission": "Allow $(PRODUCT_NAME) to access your microphone",
"recordAudioAndroid": true
}
]
]
}
}
I tried multiple solutions found online but none of it worked. What I did:
- prebuild clean, ./gradlew clean, etc
- Add kotlin plugin version to android/build.graddle
- Add maven to android/build.gradle
Solved this by upgrading expo version from
50.0.6to50.0.11.The problem was that the
expo-modules-coredependency in version50.0.6doesn't include the changes that are need forexpo-camera/next