当前位置: 首页 > 知识库问答 >
问题:

如何构建用于生产的反应原生Android应用程序?

淳于开畅
2023-03-14

我已经看到了新版本的Android反应本机,并尝试了一些示例。它仅适用于USB调试模式和“adb反向tcp: 8081 tcp: 8081”。我如何为“生产”构建Android应用程序,包括所有依赖项,而无需反应Web服务器连接。谢谢你。

共有3个答案

桂嘉年
2023-03-14

至于我,我在我的package.json中添加了“脚本”:

"release": "cd android && ./gradlew assembleRelease"

然后在终端中我使用:

npm run release

或用纱线:

yarn release
邵弘伟
2023-03-14

您必须创建一个密钥来签署apk。使用以下内容创建您的密钥:

keytool -genkey -v -keystore my-app-key.keystore -alias my-app-alias -keyalg RSA -keysize 2048 -validity 10000

提示时使用密码

生成密钥后,使用它生成可安装的版本:

react-native bundle --platform android --dev false --entry-file index.android.js \
  --bundle-output android/app/src/main/assets/index.android.bundle \
  --assets-dest android/app/src/main/res/

使用gradle生成构建

cd android && ./gradlew assembleRelease

将APK上传到您的手机。-r标志将替换现有的应用程序(如果存在)

adb install -r ./app/build/outputs/apk/app-release-unsigned.apk

这里提到更详细的描述:https://Facebook . github . io/react-native/docs/signed-apk-Android . html

闻人树
2023-03-14

要构建Android应用程序的发布版本:

$ cd your-app-folder
$ cd android && ./gradlew assembleRelease

你需要为游戏商店设置签名密钥,完整的文档在这里:https://reactnative.dev/docs/signed-apk-android

 类似资料:
  • 我想在我的android react本机应用程序的图像标签中通过URL显示一个简单的gif,但当我启动它时,不会显示任何图像。文档中提供的代码仅适用于iOS,不适用于android: 这里有一个类似的问题,但正如前面所说,这只适用于iOS:如何在React Native中显示动画gif 关于此提交,它应该可以工作:https://github.com/facebook/react-native/c

  • 如何从我的反应原生项目构建android apk?此命令“反应原生运行android”在文件夹android\app\build\输出\apk\上创建app-debug.apk但是当我在手机上安装它时,我得到了一个错误“无法下载JS捆绑包”。当我第一次在模拟器上启动时,我使用命令来解决这个问题:

  • 我在playstore有一个11K的应用程序。该应用程序是本地Java的。我做了一个react原生应用程序与相同的包名,并更改了jks密钥到密钥存储文件和更改了版本代码。我正在使用的应用程序存储jks文件,我得到这个错误,我知道通过卸载解决,但我不能告诉用户卸载,有没有其他方式执行失败的任务':app:installrelease'。 com.android.builder.testing.api

  • 我有一个用Kotlin(android studio)编写的android应用程序和用React Native编写的应用程序的UI。我的问题是这些能联系在一起吗?如果是,怎么做?还有,你们能发布一些我可以通过的链接吗。 附注:我对react Native一无所知。

  • 我试图设置与React Native在Android上。做了一些研究,看起来我应该使用Interceptor。我找到的一个例子解释了如何做到这一点(链接),但我不确定如何注册拦截器。 因此,为了设置,我使用这个类: 那么剩下的就是注册上面的拦截器,那么它应该在哪里完成呢?可能在? 我在构建应用程序时没有收到任何错误,因此我认为应该很好-只需要让应用程序使用它。 更新:我当前正在尝试在中注册拦截器,