101

当我单击运行我刚刚在 Android Studio 0.2.10 中创建的项目并选择我的 Android(通过 USB 连接并通过 USB 进行调试)时,我收到此错误:

Waiting for device.
Target device: 0123456789ABCDEF
Uploading file
    local path: /Users/Rui/AndroidStudioProjects/FirstAppProject/FirstApp/build/apk/FirstApp-debug-unaligned.apk
    remote path: /data/local/tmp/rui.firstapp
Installing rui.firstapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/rui.firstapp"
pkg: /data/local/tmp/rui.firstapp
Failure [INSTALL_FAILED_INVALID_APK]

知道它可能是什么吗?

4

43 回答 43

177

我在 Android Studio 中得到了这个,我所做的只是去修复它"Build" > "Clean Project",它只是工作。

于 2014-07-22T07:27:58.687 回答
39

只需删除文件夹中的旧 APK android/app/build/outputs/apk/debug/app-debug.apk 即可。就这样。享受你的编码...

于 2020-06-17T05:49:27.657 回答
15

我曾经遇到过类似的问题,我观察到的是,我的 Androidmanifest.xml 中的包名称以一个空格字符开头。like " com.example.test" instead of "com.example.test"

我从清单文件中删除了所有这些无效空格,它解决了我的问题

编辑 1:包名称中的“-”也会在某些 android 版本上导致相同的问题

于 2013-09-28T19:40:03.867 回答
14

如果有人仍然有问题,那么Build->Clean Project 然后Build->Rebuild project 最后Sync project with Gradle file

于 2017-12-22T09:50:49.350 回答
10

我遇到了同样的问题,但没有一个解决方案对我有用。问题是我没有. 我的包名中的分隔符。
即,如果你的包名是my.packagename很好,但它不能只是mypackagename
从这个错误报告中得到提示。

https://code.google.com/p/android/issues/detail?id=55841

于 2015-01-27T09:08:25.460 回答
9

导航Run/Debug Configurations

单击顶部选项卡中的运行 > 编辑配置

  • 模块:选择您的应用
  • 安装选项:部署默认 APK
  • 好的

在此处输入图像描述

于 2020-11-10T13:09:57.083 回答
8

我遇到了这个问题,上述解决方案都不适合我。

出于某种原因,我的目录上的权限设置不正确/data/local/tmp(只有 root 有 rwx)。我使用 ADB 解决了这个问题(你需要一个有根设备):

  1. 通过 USB 连接手机
  2. 使用启动亚行adb shell
  3. 转为/data/local使用cd /data/local
  4. 使用切换到 root 模式su
  5. tmp允许在目录上读/写/执行chmod 777 tmp
  6. 断开连接,重新启动 Android Studio 并再次插入设备
于 2015-02-22T05:44:17.833 回答
8

如何解决这个问题:

  1. 安装RootExplorer
  2. tmp在 SD 卡上创建新文件夹
  3. 长按 tmp 文件夹,然后选择Link此文件夹(菜单中的最后一个选项)
  4. 从底部转到/data/local/并点击按钮CREATE LINK
于 2015-02-08T16:14:08.097 回答
7

通过关闭即时运行解决了我的问题。到现在也不知道有什么解释。迁移到 android studio 3.0 后,它开始出现这样的问题。希望这对将来的人有所帮助。

于 2018-05-29T05:59:18.153 回答
6

当我遇到此问题时,为我解决的问题是确保 AndroidManifest.xml 包名称与 build.grade applicationId 相同。

于 2014-11-30T22:38:42.280 回答
5

我尝试了上面提供的大多数解决方案(简单的解决方案,而不是提供 chmod 和更改内部库的解决方案),但它们都不起作用

最终对我有用的是:“清理项目”->“重建项目”->在 build.gradle 应用程序模块中更改了应用程序版本名称->同步 Gradle->在设备上运行应用程序

于 2019-05-05T15:16:48.747 回答
3

我发现了这个错误的另一个原因。如果您 root 了您的设备访问权限 /data/local/tmp 可能会更改,因此 adb 无法访问它的临时文件。解决方案是在 sdcard 上创建“tmp”文件夹并在 /data/local/ 中创建指向它的符号链接(通过 ADB shell 或 Root Explorer)。

于 2015-01-30T08:13:46.670 回答
3

对于 Flutter 项目,使用 VS Code 编辑器,转到项目源文件夹并删除“build”文件夹并开始调试。

于 2019-09-03T11:08:44.290 回答
3

我通过不匹配的构建变体遇到了这个问题。一个动态交付模块在调试变体中,而其余模块在发布中。只需将动态交付模块更改为发布、重建和安装,即可解决此问题。

于 2019-07-02T18:20:03.727 回答
3

如果你写android:extractNativeLibs="false"在 AndroidManifest 文件中。然后将其更改为android:extractNativeLibs="true"

于 2016-11-11T06:06:47.940 回答
2

我在 android Studio 上遇到了这个问题,因为在我的 Debug 版本中我添加了版本名称后缀-DEBUG并且-是问题所在。

尝试在版本名称和应用程序 ID 上仅包含字母、数字和点

于 2014-07-01T09:08:42.637 回答
2

我在一个带有 Dagger 和多个模块的项目中遇到了这个问题。对我有用(上述方法均无效)是 1)清空 .gradle 文件夹 2)清空 .idea 文件夹 3)在项目 gradle.properties 中,标记 org.gradle.caching=false 4)可能使 AS 中的缓存无效, 清洁, 重建

你也许可以只用#3,清理然后构建。

编辑:最近我已经能够通过重新启动 AS 来解决这个问题,然后进行清理,然后再次安装。

于 2019-09-26T17:09:24.710 回答
2

对我来说,这个问题的原因是为我的应用程序模块之一选择了错误的构建变体。从“构建变体”工具中,我选择了与应用程序模块匹配的模块变体,它为我解决了这个问题。

于 2019-12-06T15:17:31.427 回答
2

这对我有帮助:

Settings -> Apps -> Google Play Store -> Click "Enable" button.
于 2019-02-05T23:26:10.437 回答
1

试试这些命令:

cd android 

然后

./gradlew clean

然后

react-native run-android
于 2021-07-16T05:47:37.437 回答
1

我最近在构建多模块、多 apk 应用程序时遇到了这个问题。事实证明,我的顶级 gradle 构建正在修改android:versionCode.,这使得它与动态功能模块中的清单不同步。这花了我几个小时才找到原因,只花了几分钟时间解决。

我发现android studio日志本身,

想法.log

, 比 IDE 更能告诉我这个问题。

2020-02-05 22:52:56,206 [thread 246]   WARN -            #com.android.ddmlib - Failed to commit install session 986623974 with command cmd package install-commit 986623974. Error: INSTALL_FAILED_INVALID_APK: /data/app/vmdl986623974.tmp/1_mytestapp-afat-debug version code 1829 inconsistent with 18290 
2020-02-05 22:52:56,206 [thread 246]   WARN - a.run.tasks.AbstractDeployTask - Install failed: The application could not be installed: INSTALL_FAILED_INVALID_APK The APKs are invalid. 
于 2020-02-07T02:51:15.650 回答
0

如果已经安装,请卸载以前的版本,然后重试。它可能会有所帮助

于 2013-09-28T19:31:05.767 回答
0

我使用了 androidquickstart maven 原型并面临同样的问题:

我的包名是唯一的 androidquickstart。根据之前的建议

  1. 我已将包更改为 androidquickstart.test
  2. 然后在 AndroidManifest.xml 我已更改package="androidquickstart"package="androidquickstart.test"并相应地从 xml 的其他部分中删除了 test<activity android:name=".test.HelloAndroidActivity" ><activity android:name=".HelloAndroidActivity" >
  3. 并且还修复了 java 文件中的包问题(由 IDE 突出显示)
于 2015-03-19T20:43:49.973 回答
0

我在 android studio 3.4 中遇到了这个问题。通过关闭即时运行解决了我的问题。到现在也不知道有什么解释。希望这对将来的人有所帮助。

于 2019-05-14T10:38:21.740 回答
0

删除 AndroidManifest.xml 中的代码:

工具:replace="android:appComponentFactory" android:appComponentFactory=""

有用。

于 2019-04-09T02:25:32.387 回答
0

如果您有多个具有多种风格的模块项目,并且每种风格都有不同的applicationId,那么您必须确保所有模块都针对相同的构建变体。
来自 Android Studio 的 Active Build Variant

于 2021-02-09T14:28:03.853 回答
0

对于那些可能仍然遇到此问题的人,您可以清理、重建和无效缓存不起作用,尝试几件事;

  1. 将您的 gradle 构建版本升级到最新版本。

  2. 如果您的代码是 kolin,请检查用于使用 Gradle 构建的 Kotlin 版本是否与捆绑到 IDE 插件中的版本相同。升级到捆绑到 IDE 然后同步。我升级到了android studio Arctic fox 2021,哈哈这个问题,这对我有用。

于 2021-09-17T09:04:00.143 回答
0

我只是有同样的错误。我在应用程序 ID 中有 2015 年。我将 2015 年替换为 15 并解决了它。

此外,如果您使用 Android Studio,您可以尝试:Tools / Android / Synch Project with Gradle Files

于 2015-10-09T18:06:07.440 回答
0

如果 build clean 不起作用,请检查您的构建变体是否所有模块都具有相同的变体。

于 2021-07-07T11:57:01.703 回答
0

这次失败似乎有多种原因。对我来说,问题是在 AndroidManifest 文件中,我使用“uses-library”标签引用了一个不存在的库(仅在此特定设备中)。删除此设备没有的库后,apk 已正确安装。

于 2016-03-22T07:53:38.443 回答
0

看起来在之后有一个数字是罪魁祸首。

我对以下 applicationId 有同样的问题

org.tony.stark.125jarvis

将其更改为

org.tony.stark.jarvis

我能够将应用程序安装到 android 设备上。

于 2018-08-27T18:18:42.367 回答
0

不知道究竟是什么导致了这个问题。
A 有几个方案,所有方案都可以构建和安装,有一次,一个不想要(在采取什么行动之后 - 不知道)。在我执行的所有未知情况下:
npm run mac-reinstall
在部分package.json中的位置scripts
"mac-reinstall": "rm -rf -v package-lock.json ios/build ios/Podfile.lock android/.gradle android/build android/app/build node_modules && npm i && cd ios/ && rm -rf Pods/ && pod install && cd ../"
您可以尝试仅从脚本中保留 Android 的部分。

于 2020-06-04T05:55:03.993 回答
0

我遇到了类似的问题,但是在我重新启动我的 Ubuntu PC 后它会自动修复,因为我安装了一些 Ubuntu(12.04) 应用程序更新,这导致了这个问题。

于 2019-05-05T15:37:48.393 回答
0

如果minSdkVersioninbuilde.gradle大于设备的 Android 版本,您可能会收到此错误。在这种情况下,您必须修改minSdkVersion.

于 2018-09-17T14:08:32.077 回答
0

大更新后,检查applicationIdthebuild.gradle (Module: app)和 package inAndroidManifest.xml是否相同。我有同样的问题,所以我解决了。

于 2019-04-23T12:26:33.953 回答
0

您的包名称应包含由点组合的单词,例如 com.example 或 prashant.mydairy ..... 现在应该可以正常工作了

您必须更新您的包名称的文件如下:1)清单文件2)Gradle文件(模块appp):applicationId“package.name”

于 2017-02-09T11:57:46.537 回答
0

如果您有权访问设备控制台(adb shell),则更改以下权限:

  1. chmod 777 /数据/
  2. chmod 777 /data/local/
    您可能还想尝试将 apk 复制到/data/local/这种情况下,请确保也为 apk 设置正确的权限。
  3. chmod 777 /data/local/myapk.apk 您现在可以尝试安装: pm install -r -d /data/local/myapk.apk (注意绝对路径)
于 2018-02-20T09:49:56.937 回答
0

出于某种原因,当我将我的 Android Studio 更新为 Artic Fox 时,这一直发生在我的应用程序风格中。

为了能够再次运行该应用程序,我需要卸载、清理和无效崩溃。

所以我决定将我的版本更新到 Bumblebee,现在一切正常,无需失效崩溃、清理或卸载我的应用程序。

于 2022-01-26T11:39:43.043 回答
0

我刚刚遇到了与此消息相同的问题

错误:ADB 以退出代码 1 退出执行流式安装 adb:无法安装 ~\build\app\outputs\flutter-apk\app.apk:失败 [INSTALL_FAILED_INVALID_APK:无法在 /data/app/com. example.weather_flutter-Azzrb6hHi67p7xfzCG6lyA==: Package /data/app/com.example.weather_flutter-Azzrb6hHi67p7xfzCG6lyA==/base.apk code is missing] 在 SM A105F 上启动应用程序时出错。

对我有用的解决方案是删除该项目目录中的所有文件,build\app\outputs\apk\debug并且build\app\outputs\flutter-apk从那里开始一切都很完美

于 2021-08-21T21:29:30.067 回答
0

我遇到了这个问题,上述解决方案都不适合我。

原因可能是 root 版本的手机仅在 sdcard 上具有可用配额或 apk 安装权限。

我使用 ADB 解决了这个问题(你需要一个有根设备):

  1. 通过 USB 连接手机
  2. 使用 adb shell 启动 ADB
  3. 使用 su 切换到 root 模式
  4. 在 sdcard 中创建 tmp 文件夹:mkdir /sdcard/tmp
  5. cd /数据/本地
  6. 创建链接SD卡中的文件夹:ln -s /sdcard/tmp tmp
于 2016-03-12T17:29:50.347 回答
0

taskAffinity 名称必须至少有一个 '.' 分隔器

于 2018-02-01T16:02:11.000 回答
0

就我而言,Failure [INSTALL_FAILED_INVALID_APK]当我尝试使用pm install -r -d /sdcard/Download/foo.apk.

由于此软件包已被 卸载pm uninstall <foo_package_name>,我尝试删除/data/local/tmp/<foo_package_name>但没有运气。

我需要重新启动android系统才能修复。(不确定data/local/tmp/<foo_package_name>是否需要删除步骤。)

[更新]

刚才又出现了,我尽量不要卸载,因为我需要保留apk继承sdk 22的权限,所以这次我am force-stop <fook_package_name>先停止它,然后重试pm install,它修复了错误。

于 2019-04-12T11:19:58.193 回答
0

在设备设置中强制停止应用程序。

于 2015-10-12T12:53:20.123 回答