Java.lang.ClassNotFoundException: com.android.packageinstaller.InstallFlowAnalytics

I recently started using Android Studio instead of using Eclipse. I used Android Studio to import and transfer an Eclipse project to Android Studio. If I create a project with AS and upload it to the device, it works fine.

The problem is that a previous version of the application (which was created by Eclipse) is already installed on the device, it will not be installed or even open. I get the following exception.

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:6195) at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2699) at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2161) at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6318) at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6096) at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3986) 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:6195) at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2699) at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2161) at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6318) at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6096) at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3986) 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 

.

The above exception seems to have happened after updating Android Studio and gradle. Before that, everything worked fine.

Eclipse setup was: Android SDK Build-Tools 23.0.3

target = Google Inc .: Google API: 22

Current Android Studio:

 apply plugin: 'com.android.application' android { compileSdkVersion 'Google Inc.:Google APIs:23' buildToolsVersion "24.0.3" useLibrary 'org.apache.http.legacy' lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } defaultConfig { applicationId "com.xxxxxxxxxx" minSdkVersion 11 targetSdkVersion 21 versionName "4.0.1" setProperty("archivesBaseName", "RR3v$versionName") } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' } } } dependencies { compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.google.android.gms:play-services:+' compile 'joda-time:joda-time:2.1' compile files('libs/activation.jar') compile files('libs/additionnal.jar') compile files('libs/core.jar') compile files('libs/ftp4j-1.7.2.jar') compile files('libs/mail.jar') compile files('libs/ndeftools-1.2.3.jar') compile files('libs/sqlcipher.jar') compile files('libs/gcm.jar') } 

.

Does anyone know why the update will not be installed? My apk update doesn't even open through the package installer.

Thank you in advance

+5
source share
1 answer

The problem may be that an attempt to downgrade is being made (which is unacceptable). It seems that your Eclipse project has set the version code differently than AndroidStudio.

Manually install the Version version to the same or greater number than your Eclipse build (you can check the old code in AndroidManifest) by adding this to your build.gradle :

 android { defaultConfig { versionCode 1234 ... } } 

In addition, you can always check the "allow downgrade" checkbox using adb:

 adb install -r -d myApk.apk 

-r allows you to install an existing application

-d allows downgrade

-1
source

Source: https://habr.com/ru/post/1259777/


All Articles