今天,简单讲讲如何使用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的使用就讲完了。


就这么简单。



更多相关文章

  1. 【Android】Android2.3版本以上谷歌为何推荐使用HttpURLConnecti
  2. Android自动登录 记住用户名密码实现 SharedPreferences
  3. Android中activity的启动模式
  4. 详解Activity的四种启动模式
  5. Android SDK目录及版本号区别
  6. 关于Google Android平台的ClockworkMod Recovery恢复模式
  7. Android API对应版本关系(最新更新2019年10月)
  8. FastBoot BootLoader Recovery 模式解释

随机推荐

  1. Android香露刀之SeekBar之双管齐下
  2. Android优势劣势
  3. Android设计模式系列(9)--SDK源码之适配
  4. Android中ContentProvider详解
  5. [置顶] 关于Android NDK中如何调用第三方
  6. 3.4、Android Studio 创建Android 库
  7. Android流媒体播放器
  8. 客户端微信分享
  9. 《Android和PHP开发最佳实践》一2.2 And
  10. Android程序员必看之Android六大优势