关于Taro3.0如何使用React-Native的Pushy以及android打包

本次问题点

  • 关于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文件
关于Taro3.0如何使用React-Native的Pushy以及android打包
然后在MainApplication.java文件中getJSMainModuleName()进行修改返回index.android.bundle,原先直接返回index
关于Taro3.0如何使用React-Native的Pushy以及android打包

  • 然后再去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);
    }
    ...

关于Taro3.0如何使用React-Native的Pushy以及android打包
禁用android的crunch优化,android会在生成apk时自动对png图片进行压缩,此操作既耗时又影响增量补丁的生成。为了保证补丁能正常生成,您需要在android/app/build.gradle添加‘

crunchPngs false

关于Taro3.0如何使用React-Native的Pushy以及android打包

$ 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文件,
关于Taro3.0如何使用React-Native的Pushy以及android打包
格式就是一串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

上一篇:php – 我应该使用/编写模板词法分析器吗?


下一篇:java-如何在实时语法荧光笔中处理多行注释?