ChatGPT解决这个技术问题 Extra ChatGPT

使用 Android Studio 构建未签名的 APK 文件

我正在使用 Android Developer Tool 开发一个 Android 应用程序。现在我尝试了新的Android Studio,如果将我的智能手机与PC连接并直接在Android Studio中运行程序,一切正常。但现在我想在不将它们连接到我的 PC 的情况下使用其他智能手机测试该程序。

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

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

从技术上讲,您需要的是使用调试密钥签名的 apk。实际未签名的 apk 将被设备拒绝。
仅供参考,我们应该始终更喜欢导出 @Nirmal Dhara 回答的签名应用程序。这要安全得多。
@ChrisStratton 它总是会被拒绝吗?
我用这个解决方案解决它:stackoverflow.com/a/56201481/8471798

b
bpoiss

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

单击顶部工具栏中的下拉菜单(打开“编辑运行/调试配置”对话框)

选择“编辑配置”

点击“+”

选择“梯度”

选择您的模块作为 Gradle 项目

在任务中:输入 assemble

按运行

您未签名的 APK 现在位于

ProjectName\app\build\outputs\apk

有关如何使用 Gradle 的详细信息,请参阅本教程:Building with Gradle in Android Studio。我还写了一篇关于如何使用 Gradle 构建未签名 APK 的 blog post

如果您从另一个 IDE 移动了项目并且不想重新编译,您可能会发现您的 APK 文件已经在您移动的 IDE 中构建:

如果您使用 Android Studio 生成项目,APK 文件将位于 ProjectName/ProjectName/build/apk/...

从 eclipse 导入项目:文件应该在同一目录中。转到项目 - 在资源管理器中显示。在那里你应该找到你的 APK 文件所在的 bin 文件夹。

从 IntelliJ 导入,位置为 ProjectName/out/production/...

旁注:正如 Chris Stratton 在他的评论中提到的:

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


是的,我从 Eclipse 导入了项目。但在我的情况下,Android Studio 没有触及 bin 文件夹。经过一番搜索,我自己找到了它。就我而言,.apk 位于“projectname/out/production/projectname/”中
仅当您从 IntelliJ 切换时才应该这样做
我直接使用 Studio 生成项目,但项目的任何文件夹中都没有名为“bin”的文件夹。在“build”文件夹中只有两个文件夹,即“res”和“source”,没有“bin”文件夹。你现在能给我一些建议吗?
Click the dropdown menu in the toolbar at the top 这太笼统了。什么下拉菜单?什么工具栏?
@dthree 您可以单击顶部菜单栏上的“运行”,然后从下拉列表中选择“编辑配置”
C
Community

根据 Build Unsigned APK with Gradle,您可以简单地使用 gradle 构建您的应用程序。为了做到这一点:

单击顶部工具栏上的下拉菜单(通常带有 android 图标和应用程序名称)选择编辑配置单击左上角的加号或按 alt+insert 选择 Gradle 在任务中选择您的模块作为 Gradle 项目:输入组装 按 OK 按 播放

之后,您应该在目录 ProjectName\app\build\outputs\apk 中找到您未签名的“apk”


+ 使用 android { lintOptions { checkReleaseBuilds false abortOnError false } [....] } 编辑 build.gradle 并且它有效!谢谢你
谢谢你,marcin ...它起作用了..需要注意的一件事是我在Android Studio中找不到“outputs/apk”文件夹..它只出现在文件系统中..
在根项目“bin”中找不到任务“assemble”。
第 2 次投票。这应该是正确答案。我在带有项目导入的干净 android studio 安装中遇到了这个问题。您必须通过此手动设置才能从构建中获取任何 apk 文件。
它适用于 1.5.1,但即使选择了单个模块,它实际上也会构建整个项目 apk。
A
Andrew

最简单的方法,我猜:

打开右侧的 Gradle 选项卡

双击 YourProject/:app/assemble (或 assembleDebug)

你会在这里找到apk .../YourProject/app/build/outputs/apk/app-debug.apk

https://i.stack.imgur.com/kLe2h.png


谢谢,比接受的答案简单得多,并且不允许在每次运行时构建 apk
A
Aakash Bansal

只需转到 BUILD->Build APK 就完成了


+1。一个非常简单的方法。顺便说一句,您可以在 AndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk 找到生成的 APK
就这么简单,非常感谢,成功了,感激不尽。
L
Linh

安卓工作室 3.4

https://i.stack.imgur.com/U7DWl.png


Grade Build Running完成后,您会在右下角看到类似通知。

https://i.stack.imgur.com/fzF0c.png

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


N
Nirmal Dhara

第 1 步打开安卓工作室。构建 -> 生成签名的 APK...。现在点击“生成签名的APK”。

https://i.stack.imgur.com/Mm0dt.jpg

第2步

https://i.stack.imgur.com/5pZpP.jpg

单击新建。

第 3 步

https://i.stack.imgur.com/Hj29o.jpg

jks key details,它将返回上一个窗口。

https://i.stack.imgur.com/Ezbxi.jpg

单击下一步,并提供您存储在密钥中的密码。

第4步

https://i.stack.imgur.com/szlOt.jpg

现在单击完成并等待完成构建过程。

https://i.stack.imgur.com/VbXY0.jpg

现在apk生成成功了。单击在资源管理器中显示。

https://i.stack.imgur.com/eDvkK.jpg

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


问题要求未签名的 apk
不知道你是否理解这个问题。问题是未签名的 apk 未签名。
A
Andrii Kovalchuk

在 Android Studio 中:

Build Build APK(s) 等待并转到弹出窗口中显示的位置。在右下侧

https://i.stack.imgur.com/Nw5RR.png


s
schott12521

是的,可以使用 Android Studio 创建未签名的 .apk!

在包资源管理器或项目列中突出显示项目,然后 File - Project Structure - Artifacts - + - Android Application - From module 'your app',然后您可以更改位置和其他一些选项。我启用 build on make,只是为了方便。


它弹出消息“稍后我们将提供一个 UI 来配置项目设置。在此之前,请手动编辑您的 build.gradle 文件”现在我该怎么办?
如果我那里没有任何“神器”怎么办?
点击左上角的加号,您可以进入 Android 应用程序
jetbrains.com/idea/webhelp/artifacts.html 使用工件有什么意义?我认为这是为了生成一个未签名的 apk 调试 apk 等,但似乎只要您从 gradle 菜单运行 assemblerelease(至少在 intellij IDE 中),您就可以简单地转到 build/apk 文件夹来获取未签名的 apk。我刚刚配置了一个工件,但我无法弄清楚如何真正使用它。有人可以帮助澄清差异并使用或指出正确的方向吗?
@cjayem13 一些项目不使用 Gradle。
S
Siva Prakash
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

p
pascal

在 OSX 上使用 Android Studio 2.2.3,我只使用了顶部菜单:

Build > Build APK

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


我试图生成一个签名的 APK,但它要求一个密钥存储路径。那里应该提供什么?
W
WhiteWolfza

只需转到您的 Application\app\build\outputs\apk

并将两者复制到手机并安装 app-debug.apk


真的有必要复制两个文件吗?
C
CoDe

以下为我工作:

如果您在 build.gradle 中进行了设置,请将以下设置留空。

signingConfigs {
        release {
            storePassword ""
            keyAlias ""
            keyPassword ""
        }
    }

并从您的编辑器窗口中选择 Gradle Task。如果您已创建,它将显示所有风味的列表。

https://i.stack.imgur.com/XBJPV.png


Q
Qamar

对于未签名的 APK:只需将 signingConfig 设置为 null。它会给你 appName-debug-unsigned.apk

debug {
     signingConfig null
}

并从构建菜单构建。享受

对于签名的 APK:

signingConfigs {
        def keyProps = new Properties()
        keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
        internal {
            storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
            storePassword keyProps.getProperty('STORE_PASSWORD')
            keyAlias keyProps.getProperty('KEY_ALIAS')
            keyPassword keyProps.getProperty('KEY_PASSWORD')
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.internal
            minifyEnabled false
        }
        release {
            signingConfig signingConfigs.internal
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

keystore.properties 文件

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0

s
sharky

--- 在signingConfigs 中创建新配置

unsigned {
        //do not sign
    }

--- 在 buildTypes 中创建构建类型

unsigned {
        versionNameSuffix '-unsigned'
    }

--- 去构建变体并选择无符号标准。构建项目。

--- 转到“输出/apk”并找到“XXX-unsigned.apk”。要检查它是否未签名,请尝试将其安装到设备 - 你会失败。


这不起作用。您需要稍微不同地定义 signinigConfig(取自 stackoverflow.com/a/18121401/624109signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
J
John Jang

现在在 Android Studio v1.1.0 中应该是:

选择运行 > 运行 <你的应用> 在 <你的应用>\build\outputs\apk 中找到 .apk 文件


我正在使用 1.2.1.1 但你的方法不起作用。我必须创建一个 Gradle 程序集!
u
user5649834

Android Studio 在每次编译程序时也会创建 apk 文件,只需转到您的工作区文件夹并找到 app->build->outputs-> 即可看到 apk 文件。


C
Chathura Jayanath

您可以单击工具栏上运行按钮附近的下拉菜单,

选择“Edit Configurations” 单击“+” 选择“Gradle” 选择您的模块作为 Gradle 项目 在 Tasks 中:输入 assemble

现在按确定,

您现在需要做的就是从下拉列表中选择您的配置,然后按运行按钮。这需要一些时间。您未签名的 apk 现在位于

Project\app\build\outputs\apk

L
Lakshay Sharma

创建未签名 APK 的步骤

创建未签名 APK 的步骤 • 单击顶部工具栏中的下拉菜单 • 选择“编辑配置” • 单击“+” • 选择“Gradle” • 选择您的模块作为 Gradle 项目 • 在任务中:输入 assemble • 按运行• 您未签名的 APK 现在位于 - ProjectName\app\build\outputs\apk 注意:从技术上讲,您需要的是使用调试密钥签名的 APK。实际未签名的 APK 将被设备拒绝。因此,如果您安装在设备中,未签名的 APK 会出错。

注意:从技术上讲,您需要的是使用调试密钥签名的 APK。实际未签名的 APK 将被设备拒绝。因此,如果您安装在设备中,未签名的 APK 会出错。


我收到他的错误“无法将进程工作目录设置为 'C:\Users\marad\.gradle\daemon\5.2.1\My Application':无法设置当前目录 (errno 2)”