Phonegap-plugin-barcodescanner: App crashes with Error inflating class error

Created on 24 Sep 2019  路  3Comments  路  Source: phonegap/phonegap-plugin-barcodescanner

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)

stale

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.

 <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>

All 3 comments

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

klickagent picture klickagent  路  3Comments

mlaponder picture mlaponder  路  5Comments

front-stream picture front-stream  路  7Comments

thomas-tran picture thomas-tran  路  9Comments

SunboX picture SunboX  路  9Comments