我在Windows 10操作系统上使用了最新版本的react和react-native。
当我尝试在手机上运行我的代码或编译调试apk时,我有一种奇怪的行为。
1。通过电话运行
> react-native run-android
进程运行gradlew
构建(我认为),我在手机上获得了我的代码的旧版本,但此步骤尚未完成
完成另一个控制台,节点自动打开loading dependency graph
并完成bundling
步骤(捆绑index.android.js
[开发,非缩小] 100.0%(960/960),完成。)之后,手机上的应用程序将使用最新代码刷新。
也许这是我不知道的常规Senario案例。
2。编译APK
我跑了> 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
> cd android/
> ./gradlew assembleDebug
我得到了apk android\app\build\outputs\apk\app-x86-debug.apk
我将它安装在手机或虚拟仿真器上,但我得到了我的代码的旧版本,并注意到最新的,所以无法将其发送给其他测试人员。
我做错了什么?
PS:我在编译之前尝试使用gradlew >cd android ; ./gradlew clean ;
进行清理。相同的结果
答案 0 :(得分:0)
如果您已在自己的设备上编译过APK,则不需要重新编译(执行react-native run-android
)再次< / strong>来自您的计算机。如果您更新了JAVA源代码,则需要重新编译它。
要更新应用,只需在应用中的调试菜单上按 RELOAD 即可。 有关详情,请参阅此处:https://facebook.github.io/react-native/docs/debugging.html
on react-native我们还有 HOT RELOADING ,可以在您保存代码后立即更新您的用户界面。
答案 1 :(得分:0)
首先,关闭所有运行React服务器的终端。
1转到Android文件夹和删除构建文件夹。
2如果你正在使用守望者,那就删除守望者缓存 - 守望者手表 - 全部
3清理npm缓存 - npm start - --reset-cache
在此之后,确保您已在React native菜单中启用Debug JS Remote。
它发生在我身上,这就是我记得我做过的事情。 我希望它有效!
答案 2 :(得分:0)
我必须升级Expo CLI并在每个exp publish
之前运行gradlew assembleRelease
。
答案 3 :(得分:0)
我遇到了同样的问题。如果 cd android && ./gradlew assembleRelease 无法正常工作。 检查此文件 android / app / build.gradle 。 如果此键“ signingConfigs ”存在或不存在,请添加。 看到这里-https://facebook.github.io/react-native/docs/signed-apk-android 并运行命令- react-native start --reset-cache 和 cd android && ./gradlew assembleRelease