RN Android 打包 APK

Android

Android要求所有应用都要有一个数字签名才会被允许安装在用户手机上,因此在把应用发布到应用商店之前,需要对生成的APK包进行签名。

生成签名文件

接下来我们需要使用keytool工具生成签名文件,这是java提供的秘钥和郑虎管理工具。

keytool命令选项用法

-certreq            生成证书请求
-changealias        更改条目的别名
-delete             删除条目
-exportcert         导出证书
-genkeypair         生成密钥对
-genseckey          生成密钥
-gencert            根据证书请求生成证书
-importcert         导入证书或证书链
-importpass         导入口令
-importkeystore     从其他密钥库导入一个
-keypasswd          更改条目的密钥口令
-list               列出密钥库中的条目
-printcert          打印证书内容
-printcertreq       打印证书请求的内容
-printcrl           打印 CRL 文件的内容
-storepasswd        更改密钥库的存储口令

keytool -genkeypair 选项

-alias <alias>                  要处理的条目的别名
-keyalg <keyalg>                密钥算法名称
-keysize <keysize>              密钥位大小
-sigalg <sigalg>                签名算法名称
-destalias <destalias>          目标别名
-dname <dname>                  唯一判别名
-startdate <startdate>          证书有效期开始日期/时间
-ext <value>                    X.509 扩展
-validity <valDays>             有效天数
-keypass <arg>                  密钥口令
-keystore <keystore>            密钥库名称
-storepass <arg>                密钥库口令
-storetype <storetype>          密钥库类型
-providername <providername>    提供方名称
-providerclass <providerclass>  提供方类名
-providerarg <arg>              提供方参数
-providerpath <pathlist>        提供方类路径
-v                              详细输出
-protected                      通过受保护的机制的口令

进入项目/android/app目录,然后运行下面的命令,在此目录下生成签名证书

// 参数根据自己的需求进行填写
keytool -genkeypair -v -keyalg RSA -keysize 2014 -validity 365 -keystore my-store-release-key.keystore -alias my-store -keypass 123456789 -storepass 123456789

在android/gradle.properties中加入:

MYAPP_RELEASE_STORE_FILE=my-store-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-store

MYAPP_RELEASE_STORE_PASSWORD=123456789

MYAPP_RELEASE_KEY_PASSWORD=123456789

在android/app/build.gradle添加下面的代码(注释部分).

def enableProguardInReleaseBuilds = true // 1改成true

android {
...
    defaultConfig {
....
    }
    // 2添加签名配置
    signingConfigs {
    release {
    storeFile file(MYAPP_RELEASE_STORE_FILE)
    storePassword MYAPP_RELEASE_STORE_PASSWORD
    keyAlias MYAPP_RELEASE_KEY_ALIAS
    keyPassword MYAPP_RELEASE_KEY_PASSWORD
    }}
    splits {
....
    }
    buildTypes {
        release {
            // 3添加签名配置
            signingConfig signingConfigs.release
           ...
        }
    }
  .....
            }
        }
    }
}

终端cd 到android目录下.执行命令

gradlew assembleRelease

等一下终端执行后显示BUILD SUCCESSFUL.
成功打好了.在项目的android\app\build\outputs\apk\release下可见刚才打好的apk包


图标的替换

图标

将logo拖到app icon gear中 生成四个规格的图标,分别放到android/app/src/main/res 
下的四个文件夹中,命名为ic_launcher.png 没有对应上的文件夹放一张1024*1024 或者512*512的即可

名称

在android/app/src/main/res/values/strings.xml 中更改
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值