tur*_*boy 5 android android-studio
我最近开始使用Android Studio而不是使用Eclipse.我使用Android Studio将Eclipse项目导入并迁移到Android Studio中.如果我使用AS构建项目并将其下载到设备,它可以正常工作.
问题是如果设备已经安装了以前版本的应用程序(由Eclipse构建),它将无法安装甚至打开.我得到以下例外.
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
Run Code Online (Sandbox Code Playgroud)
.
在我更新Android Studio构建和gradle之后,似乎发生了上述异常.在那之前一切正常.
Eclipse的设置是:Android SDK Build-Tools 23.0.3
project target = Google Inc.:Google API:22
当前的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')
}
Run Code Online (Sandbox Code Playgroud)
.
有谁知道为什么更新不会安装?我的apk更新甚至不会通过软件包安装程序打开.
提前致谢
问题可能是尝试降级版本(这是不允许的)。看来您的 Eclipse 项目设置的版本代码与 AndroidStudio 现在的不同。
通过将以下内容添加到您的build.gradle:
android {
defaultConfig {
versionCode 1234
...
}
}
Run Code Online (Sandbox Code Playgroud)
除此之外,您始终可以使用 adb 使用“允许降级”标志进行安装:
adb install -r -d myApk.apk
Run Code Online (Sandbox Code Playgroud)
-r允许安装已有的应用程序
-d允许版本降级
| 归档时间: |
|
| 查看次数: |
2511 次 |
| 最近记录: |