React Native APP签名打包release版本APK

注意

首先React Native开发的APP是无法通过Android Studio进行打包的,因为AS打包的APK,也是和debug版本一样,需要进行依托localhost:8081服务运行。所以我们必须采用官方推荐的打包方式才可以。

打包过程

1.1生成签名证书

1.1.1签名的意义:

签名是应用的唯一ID,也是运用签名信息进行区分的。签名可以保证我们的应用可以正常升级,并且不被别人覆盖(当包名相同时)。

keytool -genkey -keystore test.keystore -alias test -keyalg RSA -validity 10000

参数解释:
-genkey 产生证书文件
-keystore 指定密钥库的.keystore文件中
-keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
-validity 为证书有效天数,这里我们写的是10000天
-alias 产生别名

1.2设置gradle变量

1、将你的签名证书copy到 android/app目录下。
2、编辑../android/gradle.properties,加入如下代码:

MYAPP_RELEASE_STORE_FILE=your keystore filename  
MYAPP_RELEASE_KEY_ALIAS=your keystore alias  
MYAPP_RELEASE_STORE_PASSWORD={你的密码}  
MYAPP_RELEASE_KEY_PASSWORD={你的密码}

3、在gradle配置文件中添加签名配置
编辑 android/app/build.gradle文件添加如下代码:

...  
android {  
    ...  
    defaultConfig { ... }  
    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  //加
        }  
    }  
}  

4、签名打包APK
terminal进入项目下的android目录,运行如下代码:
./gradlew assembleRelease
签名打包成功后你会在 “android/app/build/outputs/apk/”目录下看到签名成功后的app-release.apk文件。

提示:如果你需要对apk进行混淆打包 编辑android/app/build.gradle:
def enableProguardInReleaseBuilds = true

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,143评论 25 709
  • 用React Native开发好APP之后,如何将APP发布以供用户使用呢?一款APP的发布流程无外乎:签名打包—...
    CrazyCodeBoy阅读 10,122评论 5 223
  • 秦韵看着眼前正在津津有味打着游戏的男人,突然想起以前忘了从哪里听到这样一句话,青春与年龄无关,当你遇到那个人的时候...
    杨光宇阅读 388评论 0 0
  • 希望能认识更多爱好画画的朋友,共同切磋,我只想让画画来磨磨我的脾气.耐心.恒心。
    石之恋阅读 245评论 0 2
  • 清明时节雨纷纷,路上行人欲断魂 在县里做车返乡,拉客的老乡是个五十多的老阿姨,特别爱攀谈。我见她话多,也没有生分就...
    一只修炼的跳蚤阅读 374评论 0 3