应用程序更新失败,并显示错误消息:com.android.server.pm.PackageManagerException:scanPackageLI

时间:2019-06-20 08:48:39

标签: android build auto-update

我以前开发过一个应用,现在已经完成了更新。 我在测试确定可以使用相同密钥和相同applicationId构建的APK时,程序包失败。

  1. 确保使用相同的applicationId和相同的密钥进行构建。
  2. 通过Google搜索解决方案。
  3. 降级构建工具/ gradle插件
  4. 升级到最新版本的构建工具/ gradle插件

这是我的设置:

builde.gradle:

    apply plugin: 'com.android.application'
    android {
        compileSdkVersion 28
        buildToolsVersion "28.0.3"
        defaultConfig {
            resValue "string", "app_name", "MY APP"
            applicationId "com.myapp.app"
            minSdkVersion 21
            targetSdkVersion 28
            versionCode 3
            versionName "1.0.7"
            //live: 1.0.7 test: 1.0.3
            project.ext.set("archivesBaseName", "1.0.7");
            // Make sure this is consistent with the redirect URI used in res/raw/auth_config.json,
            // or specify additional redirect URIs in AndroidManifest.xml
            manifestPlaceholders = [
                    'appAuthRedirectScheme': 'com.myapp.app'
            ]
        }
        signingConfigs {
            release {
                keyAlias 'androiddebugkey'
                keyPassword 'gsdkey'
                storeFile file('/gsd_.keystore')
                storePassword 'XXXXXXX'
           }
        }
        buildTypes {
            release {
               minifyEnabled false
                signingConfig signingConfigs.release
            }
            debug {
            }
        }
    signingConfigs {
        release {
            keyAlias 'androiddebugkey'
            keyPassword 'gsdkey'
            storeFile file('/gsd_.keystore')
            storePassword 'XXXXXXX'
        }
    }
    buildTypes {
        release {
               minifyEnabled false
                signingConfig signingConfigs.release
            }
            debug {
            }
        }

    flavorDimensions "myapp"
    productFlavors {
            verlive {
                   resValue "string", "app_name", "MY APP"
            }
    }

bradle-wrapper-properties:

    #Fri Jan 18 13:02:16 CST 2019
    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

项目gbuild.gadle:

    ext {
        var = '3.0.1'
    }// Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            maven {
                url 'https://dl.google.com/dl/android/maven2'
            }
            google()
            jcenter()
        }
        dependencies {
            classpath "com.android.tools.build:gradle:3.4.0"
       }
    }

    allprojects {
        repositories {
            google()
            jcenter()
        }
    }

无法安装新的APK,并显示错误消息:

        06-20 13:36:46.503 1454-3405/? I/PackageManager: Apps installed from Package Installer
06-20 13:36:48.709 1454-1548/? I/PackageManager.DexOptimizer: Running dexopt (dex2oat) on: /data/app/vmdl1405369492.tmp/base.apk pkg=com.myapp.app isa=arm64 vmSafeMode=false debuggable=false oatDir = /data/app/vmdl1405369492.tmp/oat bootComplete=true
06-20 13:36:55.168 1454-1548/? I/PackageManager: Package com.myapp.app codePath changed from /data/app/com.myapp.app-1 to /data/app/com.myapp.app-2; Retaining data and using new
06-20 13:36:55.168 1454-1548/? W/PackageManager: Package com.myapp.app shared user changed from com.myapp to <nothing>; replacing with new
06-20 13:36:55.187 1454-1548/? W/PackageManager: Package couldn't be installed in /data/app/com.myapp.app-2
    com.android.server.pm.PackageManagerException: scanPackageLI
        at com.android.server.pm.PackageManagerService.scanPackageDirtyLI(PackageManagerService.java:7062)
        at com.android.server.pm.PackageManagerService.scanPackageLI(PackageManagerService.java:6603)
        at com.android.server.pm.PackageManagerService.replaceNonSystemPackageLI(PackageManagerService.java:12508)
        at com.android.server.pm.PackageManagerService.replacePackageLI(PackageManagerService.java:12457)
        at com.android.server.pm.PackageManagerService.installPackageLI(PackageManagerService.java:13046)
        at com.android.server.pm.PackageManagerService.access$3300(PackageManagerService.java:293)
        at com.android.server.pm.PackageManagerService$9.run(PackageManagerService.java:10731)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:148)
        at android.os.HandlerThread.run(HandlerThread.java:61)
        at com.android.server.ServiceThread.run(ServiceThread.java:46)
06-20 13:36:55.211 1454-1548/? W/PackageManager: Unknown permission com.myapp.app.C2D_MESSAGE in package com.myapp.app
06-20 13:36:55.222 1454-1548/? W/PackageManager: Unknown permission com.myapp.app.C2D_MESSAGE in package com.myapp.app
06-20 13:36:55.446 1454-1548/? I/PackageManager: Successfully restored package : com.myapp.app after failed upgrad

奇怪的是这一行:

    06-20 13:36:55.168 1454-1548/? W/PackageManager: Package com.myapp.app shared user changed from com.myapp to <nothing>; replacing with new

请帮助,我很绝望。

0 个答案:

没有答案