android 使用signingConfigs进行打包
今天,简单讲讲如何使用android studio指定证书打包。
我们使用Android Studio 运行我们的app,无非两种模式:debug和release模式。
debug模式
debug模式使用一个默认的debug.keystore进行签名。
这个默认签名(keystore)是不需要密码的,它的默认位置在C:\Users\<用户名>\.Android\debug.keystore,如果不存在Android studio会自动创建它。
release模式
在我们正式发布项目的时候是不能使用debug.keystore的。开发过程中我们也可以使用发布模式运行。可以通过如下设置:
BuildVariants-Build Variant-debug/release
如果项目需要细分开发dev和生产pro版本,每个版本中都包含debug和release模式,可以这么设置:
如果项目需要细分开发dev和生产pro版本,每个版本中都包含debug和release模式,可以这么设置:
就细分成四种模式:
release模式需要配置签名才能运行,这时就需要一个keystore
如果没有就需要创建,已经创建过keystore请跳过此步骤
1.创建keystore,并生成我们的apk(打包)
第一步: Build --->> Generate Signed APK
第二步:Create New···(已经创建过keystore选Choose existing···)
第三步:填写相关信息
设置keystore路径、密码,设置key:别名、密码、有效期,证书等
Key store path:存放路径
Key
Alias:别名
Validity(years):有效期(一般默认25年)
Certificate:证书
First and Last Name:姓名
Organization Unit:组织单位
Organization:组织
City or Locality:城市或地区
State or Province:州或省
Country Code(XX):国家代码(XX),中国:86
第四步:输入key、keystore密码
第五步:选择发布app的路径,默认即可 选择release方式发布
OK,发布成功,可以到 刚才设置的目标文件夹下面找到发布的apk
那对一些人来说,这样也太麻烦了,每次都得输入相关信息,还得进行选择,那么有更简单快捷的方法吗?答案是有的。
我们可以在项目的app目录下的build.gradle中进行签名的配置。
2.release模式配置keystore
Project structure-signing,输入已创建的keystore信息
使得签名生效需配置Build Types
点击OK即可,然后查看对应build.gradle的配置文件应该是这样的。当然了,你也可以通过直接在build.gradle里面写下面这段
signingConfigs { release { keyAlias 'androiddebugkey' keyPassword 'android' storeFile file('C:/Users/ssc/.android/debug.keystore') storePassword 'android' } } ·········buildTypes { release { //是否混淆 minifyEnabled false //是否移除无用资源 zipAlignEnabled true //混淆的配置文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release }}
这里简单讲讲,通过android studio 在build.gradle里生成了部分代码。其实只是多了signingConfigs,这个指定了签名文件的路径,密码,keyAlias的名称,密码。然后在buildTypes 的release 下生成了signingConfig signingConfigs.release,表明生成release 版本时使用我们指定的签名文件。
Debug也可以通用指定签名文件,
signingConfigs { release {//发布版本的签名配置 storeFile file(props['KEYSTORE_FILE']) keyAlias props['KEY_ALIAS'] storePassword props['KEYSTORE_PWD'] keyPassword props['KEY_PWD'] } debug {//调试版本的签名配置 storeFile file(props['DEBUG_KEYSTORE']) keyAlias props['DEBUG_ALIAS'] storePassword props['DEBUG_KEYSTORE_PWD'] keyPassword props['DEBUG_KEY_PWD'] }}
这里需要注意一点,build.gradle文件分为4个部分,
defaultConfig 默认配置
signingConfigs 签名信息配置
buildTypes productFlavors 打包apk重命名
dependencies 依赖配置
signingConfigs 需要写在defaultConfig 和buildTypes 前面,不然会编译报错。
android 打包signingConfigs的使用就讲完了。
就这么简单。
更多相关文章
- 【Android】Android2.3版本以上谷歌为何推荐使用HttpURLConnecti
- Android自动登录 记住用户名密码实现 SharedPreferences
- Android中activity的启动模式
- 详解Activity的四种启动模式
- Android SDK目录及版本号区别
- 关于Google Android平台的ClockworkMod Recovery恢复模式
- Android API对应版本关系(最新更新2019年10月)
- FastBoot BootLoader Recovery 模式解释