Open Saqib92 opened 2 years ago
Now build is working after Updating minCompileSdk
to 31. but application crashes when PreviewCamera.startPreview()
called.
Android Studio logs:
2022-06-24 12:55:29.784 15237-15237/io.ionic.starter D/AndroidRuntime: Shutting down VM
--------- beginning of crash
2022-06-24 12:55:29.787 15237-15237/io.ionic.starter E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.ionic.starter, PID: 15237
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/databinding/DataBinderMapperImpl;
at androidx.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
at androidx.databinding.DataBindingUtil.getDefaultComponent(DataBindingUtil.java:65)
at io.numbersprotocol.capturelite.plugins.previewcamera.databinding.FragmentPreviewCameraBinding.inflate(FragmentPreviewCameraBinding.java:29)
at io.numbersprotocol.capturelite.plugins.previewcamera.PreviewCameraFragment.onCreateView(PreviewCameraFragment.kt:150)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6758)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.databinding.DataBinderMapperImpl" on path: DexPathList[[zip file "/data/app/io.ionic.starter-zJnILg5FktarXVJ7oA8mZQ==/base.apk"],nativeLibraryDirectories=[/data/app/io.ionic.starter-zJnILg5FktarXVJ7oA8mZQ==/lib/arm64, /data/app/io.ionic.starter-zJnILg5FktarXVJ7oA8mZQ==/base.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at androidx.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
at androidx.databinding.DataBindingUtil.getDefaultComponent(DataBindingUtil.java:65)
at io.numbersprotocol.capturelite.plugins.previewcamera.databinding.FragmentPreviewCameraBinding.inflate(FragmentPreviewCameraBinding.java:29)
at io.numbersprotocol.capturelite.plugins.previewcamera.PreviewCameraFragment.onCreateView(PreviewCameraFragment.kt:150)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6758)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)
this is My example code. take a look: https://github.com/Saqib92/capacitor-preview-camera-example
@Saqib92 I found a solution to this as I ran into it too.
In your module build.gradle ( android/app/build.gradle
)
You need to add this to the android section:
buildFeatures {
dataBinding true
}
dataBinding {
enabled = true
}
Should look something like this:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
.... removed
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
dataBinding true
}
dataBinding {
enabled = true
}
}
@Reizar yes you are right, thank you for mentioning that. Probably need to add it to readme.
Build Failed on Android with logs: