React-Native打包发布(Android)

前言:一下搞原生app一下搞rn,搞rn的时候吧想着自己原生都还这么水,搞原生的时候吧觉得自己rn不敲就忘了,都有点力不从心了哈,不过还是加油吧~~~!!!

下面说一下react-native怎么发布android apk

注意:

1、如果你是react-native整合到android项目的话,你可以先看看这篇文章,然后再往下走:

如何把React Native嵌入到原生android应用中

如果你是执行的:

react-native init AwesomeProject

命令的话,就直接往下走就可以了,因为rn都帮我配置好了一些android所需要的包跟环境了。

首先,生成app的签名文件,那么什么是签名文件呢?简单来说吧,就相当于你apk文件的一张身份证。

一:生成app的keystore文件

1、使用keytool命令生成证书:
-genkey

-alias tomcat(别名)

-keypass 123456(别名密码)

-keyalg RSA(算法)

-keysize 1024(密钥长度)

-validity 365(有效期,天单位)

-keystore D:/keys/tomcat.keystore(指定生成证书的位置和证书名称)

-storepass 123456(获取keystore信息的密码)

例如:

 keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore 

执行完毕后会让你设置密码,设置完后回车:

这里写图片描述

ls后可以看到目录下多了一个test.keystore文件。

2、通过Android Studio生成keystore文件

这里写图片描述

这里写图片描述

点击create new:

这里写图片描述

点击ok之后,就可以看到生成的apk文件了。

二、找到/android/app/build.gradle这个文件,然后添加签名消息:

android {
....
signingConfigs {
        releaseConfig {
            keyPassword '123123'
            storeFile file('/Users/leo/Desktop/test2.jks')
            keyAlias 'test'
            storePassword '123123'
        }
    }
     buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.releaseConfig
        }
    }
    ....

三、 react-native打离线bundle包

打包命令:

Options:
–entry-file Path to the root JS file, either absolute or relative to JS root [required]

–platform Either “iOS” or “Android”

–transformer Specify a custom transformer to be used (absolute path) [default: “/Users/babytree-mbp13/projects/xcodeProjects/AwesomeProject/node_modules/React-native/packager/transformer.js”]

–dev If false, warnings are disabled and the bundle is minified [default: true]

–prepack If true, the output bundle will use the Prepack format. [default: false]

–bridge-config File name of a a JSON export of __fbBatchedBridgeConfig. Used by Prepack. Ex. ./bridgeconfig.json

–bundle-output File name where to store the resulting bundle, ex. /tmp/groups.bundle [required]

–bundle-encoding Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer). [default: “utf8”]

–sourcemap-output File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map

–assets-dest Directory name where to store assets referenced in the bundle

–verbose Enables logging [default: false]

打包步骤

  1. 在工程根目录下执行打包命令,比如
React-native bundle --entry-file index.Android.js --bundle-output ./android/app/src/main/assets/index.android.jsbundle --platform android --assets-dest ./android/app/src/main/res/ --dev false

注意:
1、[./android/app/src/main/assets/]文件夹必须存在,不存在就new一个assets文件夹,不然会报一个错误:

ENOENT: no such file or directory, open 'android/app/src/main/assets/index.android.bundle'

2、./android/app/这个路径一定要准确

执行完毕后:

这里写图片描述

三、打包apk文件

到你rn项目的根目录下执行:

cd android && ./gradlew assembleRelease

这里写图片描述

好啦~ 如果没有错的话,就说明apk文件打包完成了,然后到你的这个目录下:

/android/app/build/outputs/apk

可以看到:
这里写图片描述

选中的文件即为你需要发布的apk文件~~~

祝你好运~~~~~~~~

最后需要rn学习资料的童鞋可以联系我!!! 不谢哈~~~

React Native是一个用于构建跨平台移动应用的开源框架。它允许开发者使用JavaScript和React的语法来编写移动应用,并且可以同时在iOS和Android平台上运行。 要打包React Native应用为iOS应用,可以按照以下步骤进行操作: 1. 配置Xcode环境:首先,确保你的电脑上已经安装了Xcode,并且已经配置好了iOS开发环境。 2. 创建React Native项目:使用React Native的命令行工具创建一个新的项目,可以通过运行以下命令来创建一个新的React Native项目: ``` npx react-native init MyApp ``` 3. 进入项目目录:进入到项目的根目录,可以使用以下命令进入项目目录: ``` cd MyApp ``` 4. 打开Xcode工程:使用Xcode打开iOS工程文件(.xcodeproj),可以通过运行以下命令来打开Xcode: ``` open ios/MyApp.xcodeproj ``` 5. 配置签名和证书:在Xcode中,选择你的项目,在"Signing & Capabilities"选项卡中配置你的开发者账号和证书。 6. 选择目标设备:在Xcode中,选择你要构建的目标设备,可以是模拟器或者真机。 7. 构建应用:点击Xcode中的"Build"按钮来构建应用,或者使用快捷键"Command + B"。 8. 运行应用:点击Xcode中的"Run"按钮来运行应用,或者使用快捷键"Command + R"。 以上是打包React Native应用为iOS应用的基本步骤。在实际开发中,可能还需要进行一些其他的配置和调整,例如添加依赖库、处理权限等。具体的操作可以参考React Native官方文档或者相关的教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值