我是 android 开发的新手,刚刚完成了我的第一个应用程序。我想在 android studio 中生成一个签名的 apk。我阅读了开发人员文档,但无法理解这些步骤。当我点击 Build>Generate Signed APK...
时,它会显示一个对话框,询问以下内容:
Keystore path //with two options create new and choose existing
Keystore password
Key alias
key password
即使在谷歌搜索之后我也没有得到什么是密钥库。当我选择 create new
时,它要求我选择一个路径并找到我没有的 .jks
文件!谁能解释并列出生成签名apk的步骤。
我认为没有人正确回答了这个问题。所以,对于有同样问题的其他人,这应该会有所帮助:
第 1 步转到 Build>Generate Signed APK>Next(选择的模块将是您的模块,通常称为“app”)
第二步点击新建
第 3 步 基本上,用所需的详细信息填写表格。令人困惑的一点是它要求密钥存储路径。单击右侧带有 3 个点(“...”)的图标,这将打开一个导航器窗口,要求您导航并选择一个 .jks 文件。导航到要保存密钥库文件的文件夹,然后在该窗口底部的“文件名”框中,只需输入您喜欢的名称,即可单击“确定”按钮。正在发生的事情是,窗口并没有真正要求您选择 .jks 文件,而是希望您为其提供您希望它拥有的位置和名称。
第 4 步单击下一步,然后选择发布和瞧!你完成了。
使用 Keytool 二进制或 exe 生成私有密钥库。 Instructions here。然后,您可以使用此密钥库为您的应用程序签名。安装 Java 时会安装 Keytool。
注意:保存/备份此密钥库,因为一旦您通过使用此密钥库对其进行签名来发布应用程序,您将不得不使用相同的密钥库进行任何未来的更新。所以,备份它很重要。
HTH。
在这里阅读我的答案
How do I export a project in the Android studio?
这将指导您逐步生成签名的 APK 以及如何从 Android Studio 创建密钥库文件。
从链接中,您可以轻松完成,因为我逐步添加了它的屏幕截图。
简短的回答
如果你有密钥库文件,那么你可以简单地做同样的事情。
转到 Build 然后单击 Generate Signed APK
解释了 Google 推荐的配置 build.gradle 文件的“官方”方式here。
基本上,您添加一个signingConfig,在其中指定密钥库的密码位置。然后,在发布构建类型中,参考该签名配置。
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
在 Android Studio 中转到 Build -> Generate Signed APK。在出现的新窗口中,单击 Create new... 按钮。接下来输入如下所示的详细信息,然后单击 OK -> Next。选择构建类型作为发布,然后单击完成按钮。等待直到显示 APK 生成成功消息,如下图所示。单击在资源管理器中显示以查看签名的 APK 文件。
有关详细信息,请访问 this 链接。
简单的 5 个视觉步骤:
第 1 步:点击 Build -> Generate Signed Build/APK
https://i.stack.imgur.com/k8Elg.png
https://i.stack.imgur.com/Rdb03.png
https://i.stack.imgur.com/EUlP0.png
https://i.stack.imgur.com/xUWXX.png
⚠️ 重要提示:请务必安全存储此密钥库文件,因为连续上传存储库需要相同的密钥库文件。
https://i.stack.imgur.com/IKeOF.png
一切都完成了,现在您的签名 APK 将开始构建,并且一旦可用,应该会在右下角弹出。点击 locate
以获取您签名的 APK 文件。
简单的?
我有同样的问题。我用教程中的 /home/tim/android.jks 文件填充了该字段,认为该文件将被创建。当我点击输入时,它会说找不到文件。但是当我尝试创建文件时,它不会让我创建 jks 文件。我关闭了 android studio 并再次运行它,它工作正常。我必须点击 ... 才能正确添加我的文件。生成签名的apk向导->新密钥库->点击...选择密钥库文件。输入文件名我在想我将不得不使用 openjdk 并创建自己的密钥文件,但它内置于 android studio
您可以将其添加到您的构建等级中
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("my.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
如果你然后需要一个 keyHash 通过项目根文件夹上的 android stdio 终端执行这样的操作
keytool -exportcert -alias my.keystore -keystore app/my.keystore.jks | openssl sha1 -binary | openssl base64
注意:如果它是一个 React Native 项目
如果您在 Android Studio 中打开根项目文件夹,您将不会在此页面的其他答案中看到建议的选项。
https://i.stack.imgur.com/61Dtw.png
解决方案
我打开的是 packages/native/android
文件夹,而不是根文件夹。然后只有我可以看到构建签名 APK 的选项。
https://i.stack.imgur.com/k8Elg.png
手头的官方 Android 文档,其中包含有关如何在 Android Studio 中生成签名的 APK 密钥甚至如何在 Gradle 构建中设置自动 APK 密钥生成的分步指南。
https://developer.android.com/studio/publish/app-signing.html
查看章节:签署您的发布版本
对话框在询问密钥存储路径时会有些混乱。但这实际上是它将创建 Keystore 的地方。标签可以是“将密钥存储在:”
内联评论。
https://i.stack.imgur.com/yGxNO.png
但是,您可以向同一个 Keystore 添加多个密钥。在这种情况下,您还可以选择现有的 Keystore。
请注意,Google Playstore 在首次发布后很难更改签名密钥。因此,请确保选择一个安全且易于记忆的位置。在某处记下位置和密码详细信息。