如何通过命令行签名apk [英] How to sign an apk through command line
问题描述
请注意,我们已经在Android SDK的帮助下通过命令行创建了一个apk文件.现在,由于将其上传到Google Play商店,因此需要对apk进行签名.我们该怎么做.
Be informed that we have created an apk file through command line with the help of Android SDK. Now since uploading it to google play store needs the apk to be signed. How shall we do this.
推荐答案
步骤1
首先,您需要生成一个私人签名密钥
Step 1
First you need to generate a private signing key
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
此命令将提示您输入密钥库和密钥的密码(也用于某些其他字段).请记住,随时将您的密钥库文件保留为私有.
This command will prompt you for a password for your keystore and key (also for some additional fields). Please remember to keep your keystore file private at anytime.
接下来,您需要设置gradle
Next you need to setup gradle
- 将您在步骤1中生成的
my-release-key.keystore
放置在android/app
下
-
在
android/app
下更新您的~/.gradle/gradle.properties
并添加以下内容
- Place
my-release-key.keystore
which you generated in Step 1 underandroid/app
Update your
~/.gradle/gradle.properties
underandroid/app
and add the following
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=<The password you choose earlier with the keytool>
MYAPP_RELEASE_KEY_PASSWORD=<The password you choose earlier with the keytool>
步骤3
最后,您需要更新您的android/app/build.gradle
.
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
现在,您只需在Android目录中运行以下命令,即可通过命令行生成一个已签名的发行版
Now you can simply generate a signed release via the command line by running the following command in your android directory
./gradlew assembleRelease
然后可以在您的build/outputs/apk/release
目录下找到生成的apk.
The generated apk can then be found under your build/outputs/apk/release
directory.
这篇关于如何通过命令行签名apk的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!