Добрый день,
После установки Android Studio Bumblebee 2021.1.1 Patch 3 и импорта моего старого проекта (с последующим обновлением gradle, sdk и зависимостей) я начал бороться с ошибкой INSTALL_PARSE_FAILED_MANIFEST_MALFORMED. Я безуспешно следовал предложениям в Ошибка установки: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED?.
Что я проверил:
Последний элемент, который, как я считаю, отвечает за эту ошибку, находится в Logcat: не удалось получить идентификатор пользователя пакета: run-as: unknown package: com.test.app
Как я могу решить эту проблему?
Манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.app">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher_round_foreground"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round_foreground"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
android:theme="@style/Theme.AppCompat.NoActionBar" />
</application>
</manifest>
Run Error:
Installation failed due to: 'Failed to commit install session 1816080056 with command cmd package install-commit 1816080056. Error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1816080056.tmp/base.apk (at Binary XML file line #137): leakcanary.internal.activity.LeakLauncherActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present'
Логкат:
2022-04-09 13:22:23.974 14319-14319/? E/studio.deploy: Could not get package user id: run-as: unknown package: com.test.app
2022-04-09 13:22:23.991 14319-14319/? E/studio.deploy: Could not find apks for this package: com.test.app
2022-04-09 13:22:23.991 14319-14319/? E/studio.deploy: Error:
2022-04-09 13:22:24.008 14319-14319/? E/studio.deploy: Could not get package user id: run-as: unknown package: com.test.app
2022-04-09 13:22:24.019 14319-14319/? E/studio.deploy: Could not find apks for this package: com.test.app
2022-04-09 13:22:24.019 14319-14319/? E/studio.deploy: Error:
2022-04-09 13:22:24.551 13743-13743/? E/Finsky: [2] VerifyPerSourceInstallationConsentInstallTask.d(2): Package name null is not an installed package
2022-04-09 13:22:24.591 438-452/? E/installd: Couldn't opendir /data/app/vmdl1816080056.tmp: No such file or directory
2022-04-09 13:22:24.591 438-452/? E/installd: Failed to delete /data/app/vmdl1816080056.tmp: No such file or directory
2022-04-09 13:23:08.160 362-362/? E/android.hardware.power.stats@1.0-service-mock: Failed to getEnergyData
2022-04-09 13:23:33.837 8380-9661/? E/WakeLock: GCM_HB_ALARM release without a matched acquire!
2022-04-09 13:23:33.843 8380-9661/? E/WakeLock: GCM_HB_ALARM release without a matched acquire!
2022-04-09 13:25:08.160 362-362/? E/android.hardware.power.stats@1.0-service-mock: Failed to getEnergyData
Как и в случае с описанием ошибки, речь идет об LeakLauncherActivity.
leakcanary.internal.activity.LeakLauncherActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present
И похоже, что эта проблема была исправлена в новой версии канареечной библиотеки. https://github.com/square/leakcanary/issues/2076
Большое спасибо! Изменил версию Leakcanary с 2.0 на 2.7 в build.gradle, и я могу успешно запустить приложение на своем устройстве.