React native 反应本机运行android Vs./gradlew assembleDebug
我注意到react native和gradle在构建android版本时有两种不同的输出React native 反应本机运行android Vs./gradlew assembleDebug,react-native,react-native-android,React Native,React Native Android,我注意到react native和gradle在构建android版本时有两种不同的输出 react native build似乎包含了一些来自插件的预构建工作,如react native config 如果没有要安装的设备,react native将在生成时失败(在我的例子中是emulator) 不同的构建成功输出,尤其是在我的情况下错误类型3 安装-react native仅限 问题 除了安装部分(4),为什么这两个命令的构建部分不同 样本输出 react本地运行android $ reac
react native config
构建成功
输出,尤其是在我的情况下错误类型3
react native
仅限$ react-native run-android
Scanning folders for symlinks in /Users/Jackson/Sites/fnmultiapptest/node_modules (10ms)
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
> Configure project :app
Reading env from: .env
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
Observed package id 'build-tools;20.0.0' in inconsistent location '/Users/Jackson/.android/build-tools/android-4.4W' (Expected '/Users/Jackson/.android/build-tools/20.0.0')
> Configure project :react-native-config
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
> Task :react-native-config:installDebugAndroidTest
11:40:14 V/ddms: execute: running am get-config
11:40:14 V/ddms: execute 'am get-config' on 'emulator-5554' : EOF hit. Read: -1
11:40:14 V/ddms: execute: returning
Installing APK 'react-native-config-debug-androidTest.apk' on 'Nexus_5X_API_26(AVD) - 8.0.0' for react-native-config:debugAndroidTest
11:40:14 D/react-native-config-debug-androidTest.apk: Uploading react-native-config-debug-androidTest.apk onto device 'emulator-5554'
11:40:14 D/Device: Uploading file onto device 'emulator-5554'
11:40:14 D/ddms: Reading file permision of /Users/Jackson/Sites/fnmultiapptest/node_modules/react-native-config/android/build/outputs/apk/androidTest/debug/react-native-config-debug-androidTest.apk as: rw-r--r--
11:40:14 V/ddms: execute: running pm install -r -t "/data/local/tmp/react-native-config-debug-androidTest.apk"
11:40:15 V/ddms: execute 'pm install -r -t "/data/local/tmp/react-native-config-debug-androidTest.apk"' on 'emulator-5554' : EOF hit. Read: -1
11:40:15 V/ddms: execute: returning
11:40:15 V/ddms: execute: running rm "/data/local/tmp/react-native-config-debug-androidTest.apk"
11:40:15 V/ddms: execute 'rm "/data/local/tmp/react-native-config-debug-androidTest.apk"' on 'emulator-5554' : EOF hit. Read: -1
11:40:15 V/ddms: execute: returning
Installed on 1 device.
BUILD SUCCESSFUL in 2s
38 actionable tasks: 1 executed, 37 up-to-date
Running /Users/Jackson/.android/platform-tools/adb -s emulator-5554 reverse tcp:8081 tcp:8081
Starting the app on emulator-5554 (/Users/Jackson/.android/platform-tools/adb -s emulator-5554 shell am start -n com.workingproject/com.workingproject.MainActivity)...
Starting: Intent { cmp=com.workingproject/.MainActivity }
Error type 3
Error: Activity class {com.workingproject/com.workingproject.MainActivity} does not exist.
/gradlew assembleDebug
$ ./gradlew assembleDebug
> Configure project :app
Reading env from: .env
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
> Configure project :react-native-config
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
BUILD SUCCESSFUL in 0s
50 actionable tasks: 50 up-to-date
据我说,你在比较两件不同的事情。
react原生运行android
:
它执行cd android&&./gradlew installDebug(可在打印日志中看到),专门用于安装已构建和已签名的apk,或构建apk并立即将其安装到运行的模拟器或连接的设备上。由于安装不成功,它会抛出错误
/gradlew assembleDebug
:
另一方面,/gradlew assembleDebug
这仅用于构建应用程序。(这意味着您可以使用此命令构建调试APK。)当调试APK成功创建时,将显示消息“build SUCCESSFUL”
根据我的说法,你在比较两种不同的东西。
react原生运行android
:
它执行cd android&&./gradlew installDebug(可在打印日志中看到),专门用于安装已构建和已签名的apk,或构建apk并立即将其安装到运行的模拟器或连接的设备上。由于安装不成功,它会抛出错误
/gradlew assembleDebug
:
另一方面,/gradlew assembleDebug
这仅用于构建应用程序。(这意味着您可以使用此命令构建调试APK。)当调试APK成功创建时,将显示消息“build SUCCESSFUL”
react native run android
包含命令/gradlew installDebug
/gradlew installDebug
用于将apk推送到设备,而/gradlew assembleDebug
仅用于构建apk
如果必须从一个角度来看,可以说/gradlew assembleDebug
是/gradlew installDebug
执行的进程的子集
因此,本质上如果我必须列出,由运行android的react native执行的进程包括-
启动metro包绑定器,它将侦听所有js更改
使用/gradlew installDebug
检查可用的设备,如果没有,则在此处失败李>
如果成功,它将在设备上安装apk,您可以从您向我们展示的日志中读取相同的内容
最后,它执行反向tcp:8081 tcp:8081
,将metro捆绑程序连接到应用程序模拟器/设备
而/gradlew assembleDebug
只是构建了apk。没别的了
希望有帮助:)
PS:如果仔细检查,react native run android
的构建部分是成功的,因此您可以看到build successful
输出,但由于其他进程失败,因此它作为一个整体命令失败。react native run android
包含命令/gradlew installDebug
/gradlew installDebug
用于将apk推送到设备,而/gradlew assembleDebug
仅用于构建apk
如果必须从一个角度来看,可以说/gradlew assembleDebug
是/gradlew installDebug
执行的进程的子集
因此,本质上如果我必须列出,由运行android的react native执行的进程包括-
启动metro包绑定器,它将侦听所有js更改
使用/gradlew installDebug
检查可用的设备,如果没有,则在此处失败李>
如果成功,它将在设备上安装apk,您可以从您向我们展示的日志中读取相同的内容
最后,它执行反向tcp:8081 tcp:8081
,将metro捆绑程序连接到应用程序模拟器/设备
而/gradlew assembleDebug
只是构建了apk。没别的了
希望有帮助:)
PS:如果仔细检查,react native run android
的构建部分是成功的,因此您可以看到build successful
输出,但是由于其他进程失败,它作为一个整体命令失败