Mac打包Android的apk,[Mac][React Native][Android] 打包成apk

一旦把app写好之后,最后一个步骤就是打包成apk啰

文档中会提到keytool,gradlew assembleRelease。

Android打包APK

Android 把包成一个APK主要需要几个步骤:

1.产生金钥

2.将金钥设定到这个项目的 /android/app 下的build.gradle 文档

3.产生Apk档

我们来具体的说明明细吧

1.产生金钥

keytool -genkey -v -keystore RyanFactoryKey.keystore -alias RyanFactoryKey-alias -keyalg RSA -keysize 2048 -validity 10000

首先在命令窗口输入命令,然后照着指示,填入需要的资讯

输入金钥保存库密码:

重新输入新密码:

您的名字与姓氏为何?

[Unknown]: Ryan.Lu

您的组织单位名称为何?

[Unknown]: Ryan.com

您的组织名称为何?

[Unknown]: Ryan

您所在的城市或地区名称为何?

[Unknown]: TW.Taichuang

您所在的州及省份名称为何?

[Unknown]: Taichuang

此单位的两个字母国别代码为何?

[Unknown]: TW

CN=Ryan.Lu, OU=Ryan.com, O=Ryan, L=TW.Taichuang, ST=Taichuang, C=TW 正确吗?

[否]: Y

针对 CN=Ryan.Lu, OU=Ryan.com, O=Ryan, L=TW.Taichuang, ST=Taichuang, C=TW 产生有效期 10,000 天的 2,048 位 RSA 金钥组以及自我签署凭证 (SHA256withRSA)

输入 的金钥密码

(RETURN 如果和金钥保存库密码相同):

重新输入新密码:

[保存 RyanFactoryKey.keystore]

java keytool用法

Java 中的 keytool.exe 可以用来建立数位凭证,再将该凭证,绑到你的apk中。

-keystore 指定金钥库的名称,我指定了RyanFactoryKey.keystore

-alias 产生别名我指定了RyanFactoryKey-alias

要将自己的密码记好阿!!

完成之后,就可以产生一个RyanFactoryKey.keystore文件啰,建议将这个文件放在你的rn项目的Androidapp,与build.gradle摆在同一个目录下。

2.将金钥设定到这个项目的 /android/app 下的build.gradle 文档

接下来,就是要把金钥与这个项目,产生关连,将金钥放到设定这个项目下啰。打开你的rn项目的Androidappbuild.gradle,也是刚刚步骤一将金钥产生受,放置的同一个目录。开始编辑build.gradle啰

signingConfigs {

release {

storeFile file("RyanFactoryKey.keystore")

storePassword "123456"

keyAlias "RyanFactoryKey-alias"

keyPassword "123456"

}

}

在build.gradle的设定中,要把刚刚的产生的金钥放入。

buildTypes {

release {

minifyEnabled enableProguardInReleaseBuilds

proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"

signingConfig signingConfigs.release

}

}

然后再补一下这命令。

这就完成噜。

3.产生Apk档

然后该项目的目录下,执行

cd android && ./gradlew assembleRelease

就可以开始打包啰,顺利的话,就可以取得apk文件啰。

当然Ryan在过程中,也不是那么顺利,可以参考这篇,是我踩过的坑,希望有帮助到看倌阿。

排除问题的过程中,Ryan也使用了底操作

cd android && ./gradlew compileDebug --stacktrace

cd android && ./gradlew assembleRelease --stacktrace

可以协助确认问题的点,进而排除。

以上文章由Ryan整理,若有侵犯版权、勘误,请来信告知。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native中,遇到Android 9.0以上版本无法进行HTTP请求的问题,可以尝试以下解决方法: 1. 添加网络安全配置文件:Android 9.0以后,Google要求所有的网络请求必须使用HTTPS,为了解决这个问题,需要在应用的res目录下创建一个XML文件,命名为`network_security_config.xml`。文件内容如下: ``` <?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config> ``` 2. 在AndroidManifest.xml文件中添加网络安全配置:在`application`标签内添加以下代码: ``` <application ... android:networkSecurityConfig="@xml/network_security_config" ...> ``` 这样做将允许应用发送非加密的HTTP请求。 3. 检查资源文件路径:尽管Android称之为资源文件路径问题相对不太常见,但是有时候路径的问题可能导致HTTP请求无法正常工作。因此,请确保在代码中使用的资源文件的路径是正确的。 4. 检查网络连接权限:确保在AndroidManifest.xml文件中已经添加了网络连接的权限,代码如下: ``` <uses-permission android:name="android.permission.INTERNET" /> ``` 5. 检查网络连接状态:有时候,即使在代码中正确地设置了HTTP请求,但是如果设备没有连接到互联网,仍然无法发送或接收请求。因此,请确保设备在进行HTTP请求时连接到有效的网络。 希望以上解决方法能够帮助到你,使你能够在React Native功进行HTTP请求。如果问题仍然存在,请进一步检查相关代码和日志以寻找其他潜在问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值