【发布时间】:2017-07-07 11:33:49
【问题描述】:
我正在使用 Android Studio 2.2.2、Gradle 2.14.1 和以下拆分:
splits {
abi {
enable true
reset()
include "armeabi-v7a", "mips", "x86"
universalApk true
}
}
在华为 EVA-L19 和 ALE-L21 上尝试“运行‘应用程序’”时,它尝试安装与刚刚构建的不同的 apk:构建“通用”并尝试安装“armeabi-v7a”,导致:
07/07 13:04:07:启动应用程序 APK 文件 (...)\app-dev-armeabi-v7a-debug.apk 在磁盘上不存在。 安装 APK 时出错如果文件夹中有旧的 V7 版本,情况会更糟,而且会浪费数小时更改代码而没有效果,因为它一直在安装相同的版本。
我们不打算为 64 位架构单独构建; “arm64-v8a”的预期行为是构建和安装“armeabi-v7a” - 当universalApk设置为false时会发生这种情况。
Instant Run 已禁用。
原因在哪里,如何解决?
【问题讨论】:
-
你能检查一下在运行->运行/调试配置->安装选项->部署中选择了什么
-
@BrijeshMasrani 运行 |编辑配置 | Android App/app,常规选项卡,部署目标选项显示“打开选择部署目标对话框”。取消选择“用于未来启动的相同设备”。安装选项是“默认 APK”。这里的大部分内容都保留为默认值。
-
为什么没有生成armeabi-v7a版本的apk?由于启用了 ABI 拆分,工作室正在尝试找到连接手机的相关 apk。
-
还有一个问题,如果你要拆分 apk 为什么你还想要一个通用 apk
-
@BrijeshMasrani armeabi-v7a apk 是在我在 V7 架构手机上运行时生成的。 “运行”仅构建其中一个拆分,即当前设备的拆分。至于 Universal - 不是我的电话,有人想要 - 或过去想要 - 使用一些只能接受单个 apk 的测试相关工具。但我们不要过多关注这一点 - 要么是我的配置有问题,要么是需要报告的 Studio 错误。