Не удается установить подписанное приложение - NullPointerException при установке - PullRequest
0 голосов
/ 30 мая 2018

Я не могу установить свое собственное приложение, я следую каждой документации по разработке Android, я создал 5 ключей подписи, но я все еще получаю эту ошибку:

I/PackageManager: error while grant permission
05-30 19:06:12.446 1301-1434/? W/System.err: java.lang.NullPointerException: Attempt to read from field 'android.content.pm.ApplicationInfo android.content.pm.PackageParser$Package.applicationInfo' on a null object reference
        at com.android.server.pm.PackageManagerService$PackageHandler.doHandleMessage(PackageManagerService.java:1830)
        at com.android.server.pm.PackageManagerService$PackageHandler.handleMessage(PackageManagerService.java:1568)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.os.HandlerThread.run(HandlerThread.java:65)
        at com.android.server.ServiceThread.run(ServiceThread.java:46)
05-30 19:06:12.453 1301-3673/? I/ActivityManager: START u0 {dat=file:///data/user_de/0/com.google.android.packageinstaller/no_backup/package3183593356569820254.apk flg=0x2000000 cmp=com.google.android.packageinstaller/com.android.packageinstaller.InstallFailed (has extras)} from uid 10022 pid 2400
05-30 19:06:12.461 1301-1361/? D/RestartProcessManager: Update Total Launch Times :com.google.android.packageinstaller
05-30 19:06:12.462 1301-1361/? D/RestartProcessManager: sLastRunningPackage (null) : com.google.android.packageinstaller
05-30 19:06:12.471 2400-2400/? D/InstallFailed: Installation status code: 1
05-30 19:06:12.506 1301-1402/? I/ActivityManager: Displayed com.google.android.packageinstaller/com.android.packageinstaller.InstallFailed: +43ms
05-30 19:06:12.506 1301-1402/? E/ANDR-PERF-JNI: com_qualcomm_qtiperformance_native_perf_io_prefetch_start
05-30 19:06:12.506 1301-1402/? E/ANDR-IOP: IOP HAL: Received pkg_name = com.google.android.packageinstaller pid = 2400
05-30 19:06:12.506 822-861/? E/ANDR-PERF-OPTSHANDLER: perf_lock_rel: updated /sys/class/scsi_host/host0/../../../clkscale_enable with 1
     return value 2

Но, используя установку отладки Android Studioприложение работает отлично.

Вот часть моего ApplicationInfo (из тегов манифеста):

android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".meniu">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

, а вот часть моего build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-P'
    defaultConfig {
        applicationId "g3org3.limatexmm"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

У меня была такая же проблема.

Я пробовал adb uninstall <packageName>, а также вручную удалял приложение (используя также опции удаления для всех пользователей).

Это было окончательно решено, когда яизменил версию нового приложения.

Измените versionCode и versionName в файле android/app/build, просто увеличив его.Это должно сработать.

Модернизированный android/app/build теперь:

versionCode 2
versionName "2.0"

Предполагая, что эта ошибка происходит во время тестирования выпущенного apk, для полной работы я бы предложил использовать опцию подписи Google.

Дайте мне знать, если это поможет.

0 голосов
/ 30 мая 2018

Если вы установили приложение без подписанного apk на своем устройстве, вы не сможете установить новую версию этого приложения с подписанным apk.

Также, если вы установили приложение с подписанным apk,вы не можете установить новую версию этого приложения с другим знаком.

Поэтому вам нужно удалить предыдущую версию приложения с вашего устройства, а затем установить новую версию приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...