如何在反应原生中构建调试apk

时间:2018-03-23 04:22:38

标签: android reactjs react-native

enter image description here我想构建unsigned apk或debug apk。我的应用程序在localhost上成功运行。我尝试了不同的方法。但它显示错误。我得到了Here的答案。在应用命令时

 react-native bundle --dev false --platform android --entry-file index.android.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug

显示错误

Cannot find entry file index.android.js in any of the roots: ["D:\\workspace\\reactjs\\native\\myapp5"]

然后我将index.android.js更改为App.js

然后它会显示错误

ENOENT: no such file or directory, open 'D:\workspace\reactjs\native\myapp5\android\app\build\intermediates\assets\debug\index.android.bundle'

如何解决这个问题?请帮帮我。

我的本​​机版本是react-native-cli:2.0.1,react-native:0.52.0。我发布的根文件夹的屏幕截图。

当我在android文件夹中运行gradlew assembleDebug时,它显示错误。

enter image description here

4 个答案:

答案 0 :(得分:4)

这里的问题是你似乎没有为native native bundle指定的条目文件:

  

index.android.js

根据项目结构将其替换为项目的条目文件index.js或app.js。

更新

react-native bundle --dev false --platform android --entry-file <your-entry-file> --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug

创建调试版本:

cd android && ./gradlew assembleDebug

你的apk将在android/app/build/outputs/apk

答案 1 :(得分:3)

在您的根项目目录中

请确保您已经拥有目录 android / app / src / main / assets / (如果没有),请在创建新文件后创建目录并另存为 index.android.bundle ,然后将文件放入 android / app / src / main / assets / index.android.bundle

在cmd中运行

react-native软件包--platform android --dev false --entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-目标android / app / src / main / res /

cd android && ./gradlew assembleDebug

然后您可以获取apk app / build / outputs / apk / debug / app-debug.apk

答案 2 :(得分:0)

在项目的根文件夹中,运行以下命令:

对于RN旧版本:

mkdir -p android/app/src/main/assets && rm -rf android/app/build && 
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 
&& cd android && ./gradlew clean assembleDebug && cd ../

对于RN新版本:

mkdir -p android/app/src/main/assets && rm -rf android/app/build && 
react-native bundle --platform android --dev false --entry-file index.js 
--bundle-output android/app/src/main/assets/index.android.bundle 
--assets-dest android/app/src/main/res && 
cd android && ./gradlew clean assembleDebug && cd ../

apk在以下文件夹中生成:

app / build / outputs / apk / debug / app-debug.apk

如果要在模拟器上运行apk。运行以下命令:

react-native run-android --variant=debug

答案 3 :(得分:0)

这会起作用..

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

cd android && ./gradlew assembleDebug