通过Fabric Beta安装应用程序时解组时找不到类

时间:2017-01-12 14:39:56

标签: android fabric-beta

当用户通过Fabric的Beta安装我的应用程序导致安装失败时,我遇到了这个奇怪的错误。这似乎只影响三星设备。

Class not found when unmarshalling: com.android.packageinstaller.InstallFlowAnalytics
                                     java.lang.ClassNotFoundException: com.android.packageinstaller.InstallFlowAnalytics
                                         at java.lang.Class.classForName(Native Method)
                                         at java.lang.Class.forName(Class.java:324)
                                         at android.os.Parcel.readParcelableCreator(Parcel.java:2404)
                                         at android.os.Parcel.readParcelable(Parcel.java:2358)
                                         at android.os.Parcel.readValue(Parcel.java:2264)
                                         at android.os.Parcel.readArrayMapInternal(Parcel.java:2614)
                                         at android.os.BaseBundle.unparcel(BaseBundle.java:221)
                                         at android.os.BaseBundle.getString(BaseBundle.java:920)
                                         at android.content.Intent.getStringExtra(Intent.java:6183)
                                         at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2695)
                                         at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2157)
                                         at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6337)
                                         at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6115)
                                         at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170)
                                         at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3985)
                                         at android.os.Binder.execTransact(Binder.java:453)
                                      Caused by: java.lang.ClassNotFoundException: com.android.packageinstaller.InstallFlowAnalytics
                                         at java.lang.Class.classForName(Native Method)
                                         at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                         at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                         at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                         at java.lang.Class.classForName(Native Method) 
                                         at java.lang.Class.forName(Class.java:324) 
                                         at android.os.Parcel.readParcelableCreator(Parcel.java:2404) 
                                         at android.os.Parcel.readParcelable(Parcel.java:2358) 
                                         at android.os.Parcel.readValue(Parcel.java:2264) 
                                         at android.os.Parcel.readArrayMapInternal(Parcel.java:2614) 
                                         at android.os.BaseBundle.unparcel(BaseBundle.java:221) 
                                         at android.os.BaseBundle.getString(BaseBundle.java:920) 
                                         at android.content.Intent.getStringExtra(Intent.java:6183) 
                                         at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2695) 
                                         at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2157) 
                                         at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6337) 
                                         at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6115) 
                                         at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170) 
                                         at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3985) 
                                         at android.os.Binder.execTransact(Binder.java:453) 
                                      Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

还有其他人看过这个或知道可能导致它的原因吗?感谢

2 个答案:

答案 0 :(得分:2)

我们与Samsung特别针对Fabric Beta存在类似的安装问题。

我们android:extractNativeLibs="false"时发生了这种情况 - 在Android Studio的最新版本开始建议将其作为lint修复程序之后。

所以解决方法/修复直到Fabric修复此问题是为了确保android:extractNativeLibs="true"

答案 1 :(得分:0)

尝试

I had the same problem when I built my app with only V2 (Full APK Signature) option in Studio. I have now selected V1 (Jar Signature) and V2 (Full APK Signature) and it works.

有同样的问题,这解决了我的问题。来自Cannot update the app after updating SDK (app not installed) ..