Java 更新SDK后无法更新应用程序(未安装应用程序)

Java 更新SDK后无法更新应用程序(未安装应用程序),java,android,android-studio,android-sdk-tools,Java,Android,Android Studio,Android Sdk Tools,在更新SDK和安装构建工具等之后,我无法更新应用程序。虽然它在卸载和重新安装后工作,但对客户来说,这似乎很奇怪 我还检查了AndroidManifest,一切正常,VersionCode,VersionName和Package等 以下是日志: 02-17 12:29:51.593 920-1110/? I/InputDispatcher: Delivering touch to (8187): action: 0x1, toolType: 1 02-17 12:29:51.613 8187-81

在更新SDK和安装构建工具等之后,我无法更新应用程序。虽然它在卸载和重新安装后工作,但对客户来说,这似乎很奇怪

我还检查了AndroidManifest,一切正常,VersionCode,VersionName和Package等

以下是日志:

02-17 12:29:51.593 920-1110/? I/InputDispatcher: Delivering touch to (8187): action: 0x1, toolType: 1 02-17 12:29:51.613 8187-8187/? I/Timeline: Timeline: Activity_launch_request id:com.android.packageinstaller time:246510604
02-17 12:29:51.613 920-1991/? E/PersonaManagerService: inState():  stateMachine is null !! 
02-17 12:29:51.613 920-1991/? I/PersonaManagerService: PersonaId don't exist 
02-17 12:29:51.613 920-1991/? I/ActivityManager: do not start freezing screen for locked container getKeyguardshowstate = false 
02-17 12:29:51.623 8170-8211/? D/MediaScanner: Skipping: 
02-17 12:29:51.623 8170-8211/? D/MediaScanner: 7klwibgf7fvntblfd7(7cwv5ebcfawws5wicb7 
02-17 12:29:51.623 920-1991/? E/Parcel: 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:308)
                                                        at java.lang.Class.forName(Class.java:272)
                                                        at android.os.Parcel.readParcelableCreator(Parcel.java:2275)
                                                        at android.os.Parcel.readParcelable(Parcel.java:2239)
                                                        at android.os.Parcel.readValue(Parcel.java:2146)
                                                        at android.os.Parcel.readArrayMapInternal(Parcel.java:2479)
                                                        at android.os.BaseBundle.unparcel(BaseBundle.java:221)
                                                        at android.os.BaseBundle.getString(BaseBundle.java:918)
                                                        at android.content.Intent.getStringExtra(Intent.java:5386)
                                                        at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1789)
                                                        at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1342)
                                                        at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4754)
                                                        at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4589)
                                                        at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:142)
                                                        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3086)
                                                        at android.os.Binder.execTransact(Binder.java:446)
                                                     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.packageinstaller.InstallFlowAnalytics" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
                                                        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                        at java.lang.Class.classForName(Native Method) 
                                                        at java.lang.Class.forName(Class.java:308) 
                                                        at java.lang.Class.forName(Class.java:272) 
                                                        at android.os.Parcel.readParcelableCreator(Parcel.java:2275) 
                                                        at android.os.Parcel.readParcelable(Parcel.java:2239) 
                                                        at android.os.Parcel.readValue(Parcel.java:2146) 
                                                        at android.os.Parcel.readArrayMapInternal(Parcel.java:2479) 
                                                        at android.os.BaseBundle.unparcel(BaseBundle.java:221) 
                                                        at android.os.BaseBundle.getString(BaseBundle.java:918) 
                                                        at android.content.Intent.getStringExtra(Intent.java:5386) 
                                                        at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1789) 
                                                        at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1342) 
                                                        at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4754) 
                                                        at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4589) 
                                                        at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:142) 
                                                        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3086) 
                                                        at android.os.Binder.execTransact(Binder.java:446) 
                                                        Suppressed: 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:504)
                                                                ... 18 more
                                                     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available


--------- beginning of system 02-17 12:29:51.623 920-1991/? I/ActivityManager: START u0 {dat=file:///storage/emulated/0/Abode APK's/abode-release-20171602-7.apk cmp=com.android.packageinstaller/.InstallAppProgress (has extras)} from uid 10156 on display 0
02-17 12:29:51.623 920-1991/? W/ActivityManager: mDVFSHelper.acquire() 
2-17 12:29:51.643 920-1057/? D/PointerIcon: setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
02-17 12:29:51.643 920-1057/? D/PointerIcon: setMouseCustomIcon IconType is same.101 
02-17 12:29:51.643 920-1057/? D/PointerIcon: setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0 
02-17 12:29:51.643 920-1057/? D/PointerIcon: setHoveringSpenCustomIcon IconType is same.1
02-17 12:29:51.673 8187-8187/? W/InstallAppProgress: Replacing package:com.abode.abode 
02-17 12:29:51.683 920-1625/? D/PackageManager: START_PACKAGE_INSTALL: observer{363969550} originPath{/storage/emulated/0/Abode APK's/abode-release-20171602-7.apk} 
02-17 12:29:51.683 8187-8187/? D/Activity: performCreate Call secproduct feature value false
02-17 12:29:51.683 8187-8187/? D/Activity: performCreate Call debug elastic valuetrue 
02-17 12:29:51.683 920-1063/? D/PackageManager: [MSG] INIT_COPY: observer{363969550} idx{0} for_user{UserHandle{0}}

当我在Studio中仅使用V2完整APK签名选项构建应用程序时,我也遇到了同样的问题。我现在选择了v1jar签名和V2完整APK签名,它可以工作了


当我在Studio中仅使用V2完整APK签名选项构建应用程序时,我也遇到了同样的问题。我现在选择了v1jar签名和V2完整APK签名,它可以工作了


选择v1和v2签名在Android 6上对我来说都很有魅力

谢谢你@Droid Chris

我在网上找到了原因

在Android 7.0中,可以根据APK签名方案v2方案或JAR签名方案v1方案验证APK。较旧的平台忽略v2签名,只验证v1签名


选择v1和v2签名在Android 6上对我来说都很有魅力

谢谢你@Droid Chris

我在网上找到了原因

在Android 7.0中,可以根据APK签名方案v2方案或JAR签名方案v1方案验证APK。较旧的平台忽略v2签名,只验证v1签名


您的版本代码是否至少正确+1?有人在这里提到了这个问题:你可以发布你的应用程序gradle和Manifests是的,我的版本代码是正确的。在更新SDK包之前,它工作正常。我也有同样的问题。已更新到Android Studio 2.3,使用Android Studio 2.2构建的我的应用程序版本2.8无法更新到使用Android Studio 2.3构建的应用程序。但这只发生在运行比Nuget旧的操作系统的设备上。您能够解决此问题吗?我的应用程序在三星A5上也有一个类似的版本。你的版本代码至少正确+1吗?有人在这里提到了这个问题:你可以发布你的应用程序gradle和Manifests是的,我的版本代码是正确的。在更新SDK包之前,它工作正常。我也有同样的问题。已更新到Android Studio 2.3,使用Android Studio 2.2构建的我的应用程序版本2.8无法更新到使用Android Studio 2.3构建的应用程序。但这只发生在运行比Nuget旧的操作系统的设备上。您能够解决此问题吗?我的应用程序在三星A5上也有一个类似的版本。安卓7.0似乎可以安装只有V2签名的apk,但如果apk想安装在API较低的设备上,apk必须同时由V1和V2签名。也许这里有人能告诉我原因。谢谢。看起来Android 7.0可以安装只有V2签名的apk,但是如果apk想安装在API较低的设备上,apk必须同时由V1和V2签名。也许这里有人能告诉我原因。谢谢