【发布时间】:2017-08-10 21:53:20
【问题描述】:
我们的应用程序,曾经可以工作。上次更新是在 2 周半前发布的,当时 apk 文件创建并正常工作。
最近2天我们尝试创建apk(签名或未出现问题),Android Studio没有抛出错误,但是当apk要安装到手机上时,应用程序失败安装时出现错误“未安装应用程序”
此外,Android Monitor 中还会出现以下错误。
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:2706)
at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2171)
at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6359)
at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6127)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3999)
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:2706)
at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2171)
at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6359)
at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6127)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3999)
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
有人遇到过类似的问题吗?
提前谢谢你。
【问题讨论】:
-
你在使用 Android Studio 2.3 来签署 apk 吗?
-
是的,据我所知,Android Studio 在旧 apk 和新 apk 之间的中间时间进行了更新。这是兼容性问题吗?我们需要配置其他东西吗?
-
我在发布 apk 时遇到问题,我无法安装它,如果检查了签名 v2,就会发生这种情况,所以如果您检查了 v2,请尝试取消选中它并仅使用 v1(jar 签名)。
-
@AtefHares 你应该回答这个问题。它在调试中也对我有用。另外,here is a post with more information on the differences
-
@codeMagic 完成!很高兴我也能帮助你:)
标签: android android-studio-2.3