Expo-camera: compileDebugKotlin FAILED

110 views Asked by At

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
1

There are 1 answers

0
Ha Ngo On BEST ANSWER

Solved this by upgrading expo version from 50.0.6 to 50.0.11.

The problem was that the expo-modules-core dependency in version 50.0.6 doesn't include the changes that are need for expo-camera/next