react-native(五)生成App

2017-09-09 09:22:26 react-native 2680 0

该过程会用到工具 `keytool`

产生签名的key

注:在产生的时候需要提供密钥和存储密码,后续会用到,请先保存好

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

生成过程,大致需要你的以下信息

;密钥库口令,必须6个字符
;您的名字与姓氏是什么?
;您的组织单位名称是什么?
;您的组织名称是什么?
;您所在的城市或区域名称是什么?
;您所在的省/市/自治区名称是什么?
;该单位的双字母国家/地区代码是什么?
;xxxxx[刚刚生成的信息]是否正确?
;输入 <my-key-alias> 的密钥口令 (如果和密钥库口令相同, 按回车):

然后把生成的文件 my-release-key.keystore 移动到 android/app/ 目录下

android/gradle.properties  

增加如下 ,并替换xx为你自己设置的密钥和存储密码

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=xx
MYAPP_RELEASE_KEY_PASSWORD=xx

android/app/build.gradle  

修改文件中的签名配置

...
android { 
  ... 
  defaultConfig { 
    ... 
    // 设定App的应用id,若有相同的,安装则会覆盖掉之前相同id的应用
    applicationId "com.pzshlife.sscuser" // 域名反过来用
  } 
  signingConfigs { 
    release { 
        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 
    } 
  }
}

生成App

进入 android/ 执行命令

./gradlew assembleRelease

结束

每次执行前,注意将 android/app/build/outputs/apk/app-release.apk 文件删除

APK文件会生成在 android/app/build/outputs/apk/app-release.apk

注:若无特殊说明,文章均为云天河原创,请尊重作者劳动成果,转载前请一定要注明出处