ReactNative生成签名APK

作者: SpikeKing | 来源:发表于2015-11-23 16:39 被阅读474次

ReactNative项目最终要面向市场, 生成签名的Apk应用程序, 并发布到各大市场. 官网已经提供了参考, 非常简单, 现在啰嗦几句.

1. 去掉开发模式

修改主页入口, setUseDeveloperSupport(false), 去掉开发者支持功能.

        mReactInstanceManager = ReactInstanceManager.builder()
                .setApplication(getApplication())
                .setBundleAssetName("index.android.bundle")
                .setJSMainModuleName("index.android")
                .addPackage(new MainReactPackage())
                .setUseDeveloperSupport(false)
                .setInitialLifecycleState(LifecycleState.RESUMED)
                .build();

2. Gradle

Gradle是生成Apk的工具, 配置签名和Proguard.

android {
    ...
    signingConfigs {
        release {
            storeFile file('key/SpringRainKey')
            storePassword 'chunyu'
            keyAlias 'chunyu'
            keyPassword 'chunyu'
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true  // Set this to true to enable Proguard
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"

        }
    }
}

设置签名signingConfigs: 存储文件(storeFile)位置, 存储密码(storePassword), key别名(keyAlias), key密码(keyPassword).

生成Release包模式.

signingConfig signingConfigs.release

启用Proguard.

minifyEnabled true

注意signingConfigs需要在buildTypes后面, 否则找不到方法.

3. Proguard内容

这个官方文档没有提到, 不配置会报错.

java.lang.NoSuchMethodError: no static or non-static method "Lcom/facebook/react/bridge/ReadableNativeArray;.getType(I)Lcom/facebook/react/bridge/ReadableType;"

proguard-rules.pro中, 保留React的所有代码, 添加在最后.

# 禁止混淆react
-keep public class com.facebook.react.** {
  public protected *;
}

4. 执行

android文件夹内执行

./gradlew installRelease
命令

即可生成Release包, 并安装入手机, 最终包的位置.

./android/app/build/outputs/apk/app-release.apk

参考

ReactNative项目开发模式已经很成熟了, 我们可以把开发完的项目, 通过以上方式, 生成最终线上的包进行发布.

OK, Enjoy it!

相关文章

  • ReactNative生成签名APK

    ReactNative项目最终要面向市场, 生成签名的Apk应用程序, 并发布到各大市场. 官网已经提供了参考, ...

  • APK加固

    APK签名之keytool生成keystore和jarsigner签名apk网址::http://www.ttta...

  • Ionic2 安卓签名打包

    Ionic2提供build和run命令,这种情况生成的apk都是通过其自带debug签名,要生成自己签名的apk,...

  • Android APK 0→1 生成流程

    APK包的生成是项目中不可缺少的一部分,生成的APK涉及到签名文件以及APK的打包,话不多说看图!一、生成签名文件...

  • Android签名文件

    在Android应用程序打包成Apk的过程中,为防止生成的Apk被篡改,需要进行签名,生成一个签名包。在Apk的M...

  • Android中用命令行对apk签名

    前言 本文章算是给自己的一个记录贴。 签名 ①keystore文件路径 ②签名后生成的apk路径 ③待签名的apk...

  • 如何用Android 源码生成APK签名文件

    如何用Android 源码生成签名文件 我们很多应用需要用到系统签名,可以通过生成系统签名文件,在生成apk时使用...

  • apk文件签名步骤(jdk)

    使用jdk方法给apk文件进行签名 1.使用keytool生成签名文件 使用jdk的keytool工具生成签名用的...

  • ReactNative环境下生成release包

    在ReactNative环境下生成release包,主要包括以下几步: 生成签名密钥keyStore 在AS中配置...

  • Android签名机制及使用

    1,什么是签名 1.1 签名方案 apk发布者需要使用android 密钥生成工具创建的keystore对APK进...

网友评论

本文标题:ReactNative生成签名APK

本文链接:https://www.haomeiwen.com/subject/bssrhttx.html