INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED error
美好的一天,
安装 Android Studio Bumblebee 2021.1.1 补丁 3 并导入我的旧项目(然后更新 gradle、sdk 和依赖项)后,我开始与 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误作斗争。
我遵循了 Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED? 中的建议,但运气不佳。
我检查的内容:
- 包名是小写的
- 导出的字段已明确定义
我认为导致此错误的最后一项是 Logcat:无法获取包用户 ID:运行-as:未知包: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'
Logcat:
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
看起来这个问题已经在新版本的 leak canary lib 中得到修复。
https://github.com/square/leakcanary/issues/2076
美好的一天,
安装 Android Studio Bumblebee 2021.1.1 补丁 3 并导入我的旧项目(然后更新 gradle、sdk 和依赖项)后,我开始与 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误作斗争。 我遵循了 Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED? 中的建议,但运气不佳。
我检查的内容:
- 包名是小写的
- 导出的字段已明确定义
我认为导致此错误的最后一项是 Logcat:无法获取包用户 ID:运行-as:未知包: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'
Logcat:
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
看起来这个问题已经在新版本的 leak canary lib 中得到修复。 https://github.com/square/leakcanary/issues/2076