模块未指定Android APK路径

21

你尝试过卸载、重新安装,再重新构建APK吗? - IAmGroot
@Doomsknight,是的,我已经重新构建了。卸载和重新安装对我来说不可用,因为IDE只能生成apk文件,但无法将其部署到设备上,因为没有保存*.apk*文件的路径。 - Sergey Shustikov
你使用的是哪个版本的工作室? - Piyush Agarwal
6个回答

38
  1. 打开项目结构
  2. 点击模块选项卡
  3. 展开您的项目并单击Android
  4. 在右侧单击打包选项卡(在旧版本的Android Studio中为编译器
  5. 查找APK路径字段
  6. 单击...并选择您的项目根文件夹(其中包含bin/gen/res/文件夹)
  7. 将路径复制到剪贴板中
  8. 关闭选择路径对话框
  9. 将复制的路径粘贴到APK路径字段中
  10. 添加路径文本\bin
  11. 单击应用确定

最终您必须拥有一个路径:

D:\<您的项目根目录路径>\bin

尝试构建您的项目

注意:对于Android Studio,请使用this answer


这些说明针对哪个版本的IntelliJ?我没有看到编译器选项卡(第4步)。 - Stealth Rabbi
@StealthRabbi请使用下面的答案。 - Sergey Shustikov
为什么你说“对于Android Studio,请使用此[链接]答案”。你的回答是针对Android Studio还是IntelliJ? - Stealth Rabbi
@StealthRabbi是一个混合解决方案,适用于两种集成开发环境(IDE)。但是,在某些AS版本中,这个解决方案可能无法正常工作,因此我添加了一个链接。 - Sergey Shustikov
3
对于我来说,我需要添加我想要的APK文件的文件名。因此最终路径是D:\<项目根目录的路径>\bin\appname-debug-unaligned.apk - soniiic

16

由于在我的Android Studio(0.6.1)中找不到"编译器"选项卡,因此无法使用已接受的答案。我想这种结构适用于Intelij。尽管如此,它还是指向了正确的解决方案:

我的项目除了主APK模块外还包括一些LIB模块,通过将所有模块设置为使用相同的编译器输出目录来修复错误。为此,您只需要按照以下步骤操作:

  1. 打开项目结构(单击项目资源管理器中的一个模块后按F4)
  2. 在左侧单击项目选项卡
  3. "项目编译器输出:"定义为YOUR_PROJECT_PATH\out(或任何其他文件夹)
  4. 在左侧单击模块选项卡
  5. 检查所有模块,并验证在路径选项卡下,编译器输出设置为"继承项目编译输出路径"
  6. 就这样...

完美的答案!非常感谢! - LEAD2M

5
另一个原因可能是输出目录未设置为有效的目录。请注意,在IntelliJ 14中,不支持相对路径。
项目结构(Cmd-;) > 模块 > 路径:
将编译器输出设置为“使用模块编译输出路径”,然后选择/创建APK所需的输出目录。

谢谢 - 这个方案有效 - 我也在使用IntelliJ 14。继承输出路径不行 - 需要为每个模块手动设置路径。 - resedasue

1
注意 - 我在这里遇到了同样的问题,看起来Intellij缓存了很多东西。所有我的UI设置都是正确的,但由于拼写错误,我使用了重构功能重命名了.iml文件。它在.idea/modules文件中留下了一个悬空引用旧模块拼写的条目,同时创建了一个新的条目,并没有更新构建路径(缓存?)。我不得不使缓存失效,手动编辑.idea/modules.xml文件以删除条目(为了安全起见,关闭Intellij时删除所有条目),然后重新启动Intellij并重新导入.iml文件。

我还重新启动了Android设备。

可能有点过度杀伤,但这在我的情况下解决了问题。


1

如果您遇到此问题,并且想从其他源(如Github或其他PC)构建项目,请尝试关闭当前项目,然后使用“新建 -> 导入项目”而不是“打开”来与gradle文件同步项目。


0

如果您在开发机器上运行64位发行版,则需要先安装其他软件包。对于Ubuntu 13.10(Saucy Salamander)及以上版本,请使用apt-get安装libncurses5:i386、libstdc++6:i386和zlib1g:i386软件包:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

对于Ubuntu的早期版本,请使用apt-get安装ia32-libs软件包:

apt-get install ia32-libs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接