使用Android Studio生成未签名的APK文件

319

我正在使用Android开发工具开发一款Android应用程序。 现在我尝试了新的Android Studio,如果将我的智能手机连接到电脑并直接在Android Studio中运行程序,则一切正常。 但是现在我想测试其他未连接到我的PC的智能手机的程序。

每次编译程序时,ADT都会在“projectname/bin”下创建.apk文件。 我目前看到,Android Studio没有这样做。

所以,我的问题是:是否有可能使用Android Studio创建未签名的.apk文件?


11
技术上说,您需要一个使用调试密钥签名的 apk 文件。如果 apk 文件没有被签名,则设备将拒绝安装它。 - Chris Stratton
我们应该始终优先选择导出有签名的应用程序,正如 @Nirmal Dhara 所回答的那样。这样更安全。 - Mukund
3
它会一直被拒绝吗? - Sreekanth Karumanaghat
我用这个解决方案解决了它:https://stackoverflow.com/a/56201481/8471798 - jamescodingnow
17个回答

372

我建议您使用Gradle构建APK文件:

  • 单击顶部工具栏中的下拉菜单(打开“编辑运行/调试配置”对话框)
  • 选择“编辑配置”
  • 点击“+”
  • 选择“Gradle”
  • 将您的模块选择为Gradle项目
  • 在任务中输入:assemble
  • 点击运行

现在您的未签名APK文件位于

ProjectName\app\build\outputs\apk

如果您想了解如何使用Gradle的详细信息,可以查看这个教程:在Android Studio中使用Gradle构建。我还写了一篇关于如何使用Gradle构建未签名APK的博客文章

如果您已将项目从其他IDE迁移过来并且不想重新编译,您可以找到已经在原IDE中构建好的APK文件:

  • 如果您是在Android Studio中生成该项目,则可以在ProjectName/ProjectName/build/apk/...路径下找到APK文件。

  • 如果您是从Eclipse导入该项目,则应该在同一个目录下找到文件。进入Project - Show in Explorer,您会在bin文件夹中找到APK文件。

  • 如果您是从IntelliJ导入该项目,则应该使用ProjectName/out/production/...路径。

另外提醒: 正如Chris Stratton在他的评论中所提到的:

在技术上,您想要的是用调试密钥签名的APK。实际上未签名的APK将被设备拒绝。


1
是的,我已经从Eclipse导入了该项目。但在我的情况下,bin文件夹没有被Android Studio改变。 经过一些搜索,我自己找到了它。在我的情况下,.apk文件位于“projectname/out/production/projectname/”中。 - klange
9
我正在使用Studio直接生成项目,但是在项目的任何文件夹中都没有名为“bin”的文件夹。而在“build”文件夹中,只有两个文件夹,分别是“res”和“source”,没有“bin”文件夹。现在你能给我提些建议吗? - Himanshu Aggarwal
38
请点击顶部工具栏中的下拉菜单。这个描述太笼统了,是哪个下拉菜单?哪个工具栏? - dthree
4
@dthree,您可以在顶部菜单栏上点击“运行”,然后从下拉菜单中选择“编辑配置”。 - Gema Megantara
如何实现Flavors? - Mahdi
显示剩余7条评论

235
根据Build Unsigned APK with Gradle,您可以使用Gradle构建您的应用程序。 为了这样做:
  1. 点击顶部工具栏上的下拉菜单(通常带有 Android 图标和您的应用程序名称)
  2. 选择编辑配置
  3. 单击左上角的加号或按 alt+insert
  4. 选择Gradle
  5. 将您的模块选择为Gradle项目
  6. 任务:中输入assemble
  7. OK
  8. 点击播放
之后,您应该在目录ProjectName\app\build\outputs\apk中找到您的未签名'apk'。

1
使用以下代码编辑 build.gradle 文件:android { lintOptions { checkReleaseBuilds false abortOnError false } [...] }这样就可以解决问题了!谢谢。 - Steffi
谢谢Marcin...它有效了。需要注意的一件事是我在Android Studio中找不到“outputs/apk”文件夹,它只出现在文件系统中。 - Govind
根项目“bin”中找不到任务“assemble”。 - nVentimiglia
第二次投票。这应该是正确答案。我在干净的Android Studio安装中遇到了这个问题,导入项目后。您必须通过此手动设置才能从构建中获取任何apk文件。 - rickfoosusa
它在1.5.1中可以工作,但实际上会构建整个项目的APK,即使只选择了单个模块。 - sandrstar
显示剩余2条评论

99

我猜最简单的方法是:

  • 打开右侧的Gradle选项卡
  • 双击 YourProject/:app/assemble (或 assembleDebug)
  • 您将在此找到apk文件
    .../YourProject/app/build/outputs/apk/app-debug.apk

截图


2
谢谢,比被接受的答案简单得多,并且允许不必在每次运行时构建apk。 - Irhala

54

只需前往BUILD->生成APK,就可以完成操作


12
一个非常简单的方法。顺便说一下,您可以在AndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk找到生成的APK文件。 - Spikatrix
1
只需簡單地翻譯以下與編程相關的內容即可,非常感謝您,它起作用了,感激不盡。 - Zeyad

24

Android Studio 3.4


Gradle构建运行完成后,您将在右下角看到通知。

点击 locate 您将看到可调试的APK。


21

步骤1 打开Android Studio。选择"Build"-> "Generate Signed APK...",现在点击"Generate Signed APK"。

图片描述

步骤2

图片描述

点击"Create new"。

步骤3

填写详细信息并单击"OK"。 图片描述

JKS密钥详情,它将返回到之前的窗口。

图片描述

点击"下一步",并输入您在密钥中存储的密码。

步骤4

图片描述

现在点击"完成"并等待生成过程完成。

图片描述

现在APK已成功生成。 点击"在资源管理器中显示"。

图片描述

如果您需要更多详情,请访问并检查现场演示: http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs

10
询问如何获取未签名的apk文件。 - ravelinx
不确定您是否理解了问题。问题是针对未签名的 APK 而非已签名的 APK。 - Asutosh Panda

20

在Android Studio中:

  1. 构建

  2. 构建APK文件(s)

  3. 等待并转到弹出窗口中显示的位置。 在右下侧

输入图像描述


14
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

14

是的,在Android Studio中可以创建未签名的.apk文件!

在包资源管理器或项目列中,选择项目并点击 文件 - 项目结构 - 构件 - + - Android应用程序 - 从模块“您的应用程序”,然后您可以更改位置和其他选项。我启用了“Make”时构建选项,以便更加方便。


它正在弹出消息:“我们将提供一个UI来配置项目设置。在此之前,请手动编辑您的build.gradle文件。”现在我该怎么办? - Himanshu Aggarwal
8
如果我那里没有任何“文物”,会怎样呢? - squirrel
点击左上角的加号,您就可以进入Android应用程序。 - CACuzcatlan
http://www.jetbrains.com/idea/webhelp/artifacts.html 什么是使用构件的意义?我认为它是用于生成未签名的apk调试apk等,但似乎只要从gradle菜单中运行assemblerelease就可以直接转到build/apk文件夹获取未签名的apk(至少在intellij IDE中)。我刚刚配置了一个构件,但我很难弄清楚真正该怎么做。请有人帮忙澄清差异和用法或指点我正确的方向吗? - cjayem13
@cjayem13 有些项目不使用Gradle。 - Marc Plano-Lesay

12

使用安装在OSX上的Android Studio 2.2.3,我只需使用顶部菜单:

Build > Build APK

它打开了 Finder 并选中了 .apk 文件。但这并不会生成已签名的 APK 文件。如果需要,您可以从相同的菜单中选择 Generate Signed APK


我尝试生成签名的APK文件,但它要求提供密钥库路径。应该在那里提供什么? - codeinprogress

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