本次问题点
- 关于Taro3.0如何Android打包?
- 如何使用pushy?
Taro3.0如何Android打包?
-将 Taro 代码编译成相应平台的 jsbundle 文件
taro build --type rn --platform ios
taro build --type rn --platform android
然后会在app/src/main/assets/xxxxx.bundle文件
然后在MainApplication.java文件中getJSMainModuleName()进行修改返回index.android.bundle,原先直接返回index
- 然后再去taro-native-shell/android目录下,终端执行
./gradlew assembleRelease -x bundleReleaseJsAndAssets
然后在目录android/app/outputs/apk/release/xxx.apk就可以了
如何使用pushy?(RN0.64)
ps:免费版30M一下,超过30M就要收费
- 全局安装命令行工具,每台电脑只用装一次
npm i -g react-native-update-cli
- 在项目中安装热更新模块
npm i react-native-update
- Android端配置
MainApplication.java中,引用
import cn.reactnative.modules.update.UpdateContext;
// 其他代码
@Override
protected String getJSBundleFile() {
return UpdateContext.getBundleUrl(MainApplication.this);
}
...
禁用android的crunch优化,android会在生成apk时自动对png图片进行压缩,此操作既耗时又影响增量补丁的生成。为了保证补丁能正常生成,您需要在android/app/build.gradle添加‘
crunchPngs false
- 登录与创建应用 (点击创建网站)
$ pushy login
email: <输入你的注册邮箱>
password: <输入你的密码>
这会在项目文件夹下创建一个.update文件,注意不要把这个文件上传到Git等CVS系统上。你可以在.gitignore末尾增加一行.update来忽略这个文件。
登录之后可以创建应用。注意iOS平台和安卓平台需要分别创建
$ pushy createApp --platform ios
App Name: <输入应用名字>
$ pushy createApp --platform android
App Name: <输入应用名字>
$ pushy selectApp --platform ios
1) xxxios(ios)
2) xxxandroid(ios)
Total 2 ios apps
Enter appId: <输入应用前面的编号>
选择或者创建过应用后,你将可以在文件夹下看到update.json文件,
格式就是一串json
{
"ios": {
"appId": 1,
"appKey": "<一串随机字符串>"
},
"android": {
"appId": 2,
"appKey": "<一串随机字符串>"
}
}
你可以安全的把update.json上传到Git等CVS系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入pushy login进行登录。
相关使用的API网址 https://pushy.reactnative.cn/docs/integration.html
-
发布热更新
上传andorid包到pushy上
$ pushy uploadApk android/app/build/outputs/apk/release/xxxx(包名).apk
发布热更新版本
你可以尝试修改一行代码(譬如将版本一修改为版本二),然后生成新的热更新版本。
$ pushy bundle --platform <ios|android>
Bundling with React Native version: 0.22.2
<各种进度输出>
Bundled saved to: build/output/android.xxxxx.ppk
Would you like to publish it?(Y/N)
然后按照指令走就可以了,可以参考https://pushy.reactnative.cn/docs/publish.html