Android Studio生成正式签名的APK
一、使用Android Studio
- 点击Build -- Generate Signed bundle / APK
- 如果没有正式的keystore文件,需要点击 Create new 按钮生成一个,生成时可根据实际情况进行填写。
- 填写keystore密码,点击next按钮。
- 选择生成APK的输出位置。Signature Versions中两项最好都选上。
- 点击finish按钮,过一小会,会在APK的输出位置生成正式签名的APK
二、使用Gradle
1、编辑app/build.gradle文件,添加signingConfigs配置节,并在buildTypes中应用此配置。
android {
... ...
signingConfigs {
config{
storeFile file('D:/path/to/storeFile/storefile.jks')
storePassword '123456'
keyAlias 'test'
keyPassword '123456'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
}
2、由于keystore文件所有的信息都是以明文的形式直接配置在build.gradle中的,为了安全,Android推荐的作法是将这类敏感数据配置在一个独立的文件里面。然后再在gradle.properties文件中添加如下内容。
KEY_PATH=D:/path/to/storeFile/storefile.jks
KEY_PASS=123456
ALIAS_NAME=test
ALIAS_PASS=123456
config{
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
三、生成多渠道APK
虽然生成一个带签名的APK,已经完全够用了。可是当我们需要在不同的APP商店发布时希望有一些小的不同,就比较头疼(如界面不同等)。
1、如生成360和百度两个渠道的APP
修改app/build.gradle文件如下:
productFlavors{
qihoo{
applicationId "com.xxx.android.qihoo"
}
baidu{
applicationId "com.xxx.android.baidu"
}
}
2、接下来需要根据不同渠道编写差异性需求,在app/src目录下新建一个baidu目录,然后在百度目录下再新建java和res这两个目录,这样就可以在这里覆写百度渠道的功能了,java目录用于存放代码,res目录用于存放资源,如果需要覆写AndroidManifest文件中的内容,还可以在baidu目录下再新建一个AndroidManifest.xml文件。
如需要修改应用名称,则在baidu/res/values/string.xml中的内容进行如下修改:
<resources>
<string name=”app_name”>xxx百度版</string>
</resource>