在Android Studio中从Gradle项目导出未签名的apk

28

我通常使用Eclipse创建项目,然后导入Android Studio,因为我不喜欢AS提供的项目结构。在它的模块设置中,我有可能创建artifact,以便可以将生成的apk输出到特定路径。

enter image description here

现在我直接在AS中创建了一个Gradle项目,但是似乎这些项目比eclipse项目的选项要少很多。我找不到任何输出apk的方式,而且构建后在项目文件夹中也找不到任何apk。

enter image description here

如何从构建过程中获取未签名的apk?

6个回答

51
Build > Make Project

从Android Studio构建apk文件。

您可以在以下路径下获取未签名的apk文件:

$YOUR_PROJECT/$YOUR_MODULE/build/apk

未经签名的apk文件在其名称中会带有“unsigned”文本。

[ 更新 ] :

在最新版本的Android Studio中,您将无法在同步或构建项目时获取apk文件。有两种其他方法可以获取apk文件:

  1. 运行应用程序
  2. 从Gradle面板中执行assemble任务(位于Studio窗口右侧)或从底部的嵌入式终端窗口中执行(在项目根目录中)

gradlew assembleDebug(或任何您想要构建的变体)

更新的新apk路径将是

$YOUR_PROJECT/$YOUR_MODULE/build/outputs/apk

安卓工具团队已经完成了这项工作,以提高安卓工作室的性能。


6
从 Android Studio 0.8 版本开始,“Make Project”似乎不再生成apk文件。 - InsanityOnABun
4
在Android Studio 0.8版本中不再支持该功能。在0.5.4或0.5.3版中已将其删除。现在,Make project仅编译代码并创建R.java(如果需要),而不是执行gradle任务。因此,为了创建apk文件,您需要从命令行运行相应的gradle任务,如assembleDebug,或通过双击右侧面板中列出的任务来运行。 - Piyush Agarwal
我已经更新了我的答案,感谢您提醒我。 - Piyush Agarwal
你过时的答案在最新的Android Studio上仍然有效。 - sam100rav
@behelit 请查看最近发布的更新部分,它已经移动到 $YOUR_PROJECT/$YOUR_MODULE/build/outputs/apk。 - Piyush Agarwal
显示剩余5条评论

25

pyus13的上述答案对我没有用(Android Studio 0.8.1)。

相反,请使用以下方法:

Run > Run "YourProject"

构建代码并创建未签名的APK。您可以在以下位置找到APK文件

$YOUR_PROJECT/$YOUR_MODULE/build/outputs/apk

更新

在 Android Studio 1.5.1 中仍可使用 只有在您最后一次构建代码后进行代码更改时,才会获得新的 APK。


@Wayfarer,您遇到了什么问题?您正在运行哪个版本的Android Studio?为什么要给我的答案投反对票? - kaolick
1
在目录/build/outputs/apk中的run/run之后发现了apk - 在版本“Android Studio 1.0 RC 4”中确认 - 尽管如此,我找到了2个apk:app-debug.apkapp-debug-unaligned.apk - 不知道它们之间的区别:D - Xavi Montero
1
无法编辑自己的评论。只需使用 app-debug.apk 并丢弃 app-debug-unaligned.apk 版本,因为那只是构建对齐版本的中间步骤。 - Xavi Montero
1
输出文件夹中只有针对调试签名的 APK。本文介绍如何获取真正未签名的 APK:http://entzeroth.com/export-unsigned-android-apk/ - Keith Entzeroth
@BeritLarsen 是的,它可以(请参见上面的更新)。我刚刚用1.5.1版本测试了一下。请再试一次。 - kaolick
显示剩余2条评论

19

打开Gradle面板,在项目的任务列表中双击BUILD任务,然后在“-> build -> outputs -> apk”下找到名为-release-unsigned.apk的未签名APK文件。


这是使用最新版本的Android Studio的正确答案。谢谢! - marbdq
对我有用 - 我永远不会发现那个问题! - Wirsing
除了文件夹现在是隐藏的(v1.0.2),问题在这个问题中描述:https://dev59.com/CF8e5IYBdhLWcg3w_-v0。 - Mister Smith

3
自从Android Studio 1.5以来,您现在可以使用以下方法生成APK。
Build > Build APK

然后您可以在 $YOUR_PROJECT/$YOUR_MODULE/build/outputs/apk 下找到它。

编辑: 新版Android Studio提供了此路径:

$YOUR_PROJECT/$YOUR_MODULE/build/outputs/apk.

刚刚在1.5.1中使用了该功能:路径为$YOUR_PROJECT/$YOUR_MODULE/build/outputs/apk。 - Nantoka

3

您也可以使用命令行(Android终端)构建apk。

  1. 在Android Studio中选择终端 - 位于Android监视器和版本控制旁边的最底部
  2. 使用以下命令构建apk: Windows:gradlew.bat assembleRelease Mac:./gradlew assembleRelease
  3. 找到未签名的apk文件 - /app/build/outputs/apk/app-release-unsigned.apk

已在Android 1.5上测试。


1
编辑 app.gradle 中的 buildTypes 块,在其中设置:
signingConfig null

然后重新构建。


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