App is crashing when ever i am trying to open the camera. it says Unable to start activity.
2019-09-24 12:20:25.346 10619-10619/com.myapp.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myapp.demo, PID: 10619
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.demo/com.google.zxing.client.android.CaptureActivity}: android.view.InflateException: Binary XML file line #98: Error inflating class com.google.zxing.client.android.pref.BSPlusPreference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.view.InflateException: Binary XML file line #98: Error inflating class com.google.zxing.client.android.pref.BSPlusPreference
at android.preference.GenericInflater.createItemFromTag(GenericInflater.java:443)
at android.preference.GenericInflater.rInflate(GenericInflater.java:483)
at android.preference.GenericInflater.rInflate(GenericInflater.java:495)
at android.preference.GenericInflater.inflate(GenericInflater.java:327)
at android.preference.GenericInflater.inflate(GenericInflater.java:264)
at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:280)
at android.preference.PreferenceManager.setDefaultValues(PreferenceManager.java:609)
at android.preference.PreferenceManager.setDefaultValues(PreferenceManager.java:568)
at com.google.zxing.client.android.CaptureActivity.onCreate(CaptureActivity.java:158)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)聽
at android.app.ActivityThread.-wrap12(ActivityThread.java)聽
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)聽
at android.os.Handler.dispatchMessage(Handler.java:102)聽
at android.os.Looper.loop(Looper.java:154)聽
at android.app.ActivityThread.main(ActivityThread.java:6119)聽
at java.lang.reflect.Method.invoke(Native Method)聽
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)聽
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)聽
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.zxing.client.android.pref.BSPlusPreference" on path: DexPathList[[zip file "/data/app/com.myapp.demo-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp.demo-1/lib/x86, /data/app/com.myapp.demo-1/base.apk!/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
I think this is a duplicate of https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/777. That issue has some workarounds mentioned. Looks like for some reason the plugin sometimes does not propagate the required activity/intent-filter to AndroidManifest.xml.
In my case, adding this to my config.xml fixed the crash.
<config-file parent="/manifest/application" target="AndroidManifest.xml">
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="com.phonegap.plugins.barcodescanner.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</config-file>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This thread has been automatically locked.
Most helpful comment
I think this is a duplicate of https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/777. That issue has some workarounds mentioned. Looks like for some reason the plugin sometimes does not propagate the required activity/intent-filter to AndroidManifest.xml.
In my case, adding this to my config.xml fixed the crash.