常見問題
Android 環境相關
0.
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable
解法:在react-native專案的andorid目錄下創建如下local.properties,並寫上路徑。
可直接輸入以下指令
或是加入環境變量
1.
Failed to find Build Tools revision
解法:開啟Android Studio後按到plugin manager,之後點選Android SDK Build-tools,然後按右下角的show package Details.
之後更改react-native 的 android folder內的build.gradle ,更改buildToolsVersion
2.
Failed to find Platform SDK with path: platforms;
到SDK頁面把版本號碼,填入剛才build.gradle的SDK版本位置即可。
3.
Unable to unzip '/Users/lin/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.0.0/30c60a8a357ee1321ffd0c9f08ef54b24045cd10/runtime-1.0.0.aar' to '/Users/lin/.android/build-cache/461463660edaf90dfdbbbdf1b3fd11a320fb50df/output' or find the cached output '/Users/lin/.android/build-cache/461463660edaf90dfdbbbdf1b3fd11a320fb50df/output' using the build cache at '/Users/lin/.android/build-cache'.
解法:加上sudo
4.
error: could not install *smartsocket* listener: Address already in use
或是
adb server version (40) doesn't match this client (39);
這時通常輸入adb start-server
也會無法執行,通常是因為有兩個版本,所以只要把/sdk/platform-tools/adb
複製到/usr/local/bin
即可
解法:https://github.com/facebook/react-native/issues/8401#issuecomment-344628512
5.Development Server response 500
通常為node_module包含不相容的專案
重新啟動專案或重建都一樣時可輸入以下指令:
6.
不穩定,有時跳出錯誤訊息,有時又沒有
7.
安裝模組後如果執行出現錯誤,例如:Unable to symbolicate stack trace: The stack is null
輸入以下即可。
8.
執行 react-native run-android
後畫面空白,或是說無法連線到development server
重新執行
react-native run-android
即可
9.
避免特定資料夾更改後,觸發 react native server hot reload
https://stackoverflow.com/a/41963217
10.Unable to load script from assets index.android.bundle
加入以下:
package.json
11.Failed to install the following Android SDK packages as some licences have not been accepted
到 android studio 安裝 SDK 版本
12.Could not determine artifacts for com.facebook.fresco:fresco:1.10.0: Skipped due to earlier error
在 build.gradle 新增
13. 上架時要求更改 package name
14. 您已經有一個 APK 或 Android App Bundle 使用版本代碼 1
15. Google Play 64 位元規範
build.gradle(app) 新增如下
不過目前測試完加上這樣會閃退,建議還是使用 bundleRelease 打包
16. adb command not found
加上以下環境變數,不過目前測試就算 adb comand 沒找到還是可以 run-android,但有時候使用最新的 react-native 創建專案卻可以沒有adb command 下執行
17. react version mismatch
通常只要把所有監聽 8081 (emulator)的 port 刪除,或是關閉所有 terminal 重啟 emulator即可。
18.產生的apk 安裝後網路無法連線
如果 network endpoint 指向 http 記得加上以下不然會無法連線 https://stackoverflow.com/a/56801525/4622645
19.Warning: Activity not started, intent has been delivered to currently running top-most instance.
這樣 app 不護更新畫面,需要把 app 從模擬器關閉後重新 run-android
20. Execution failed for task ':app:mergeDexDebug'
When your app and the libraries it references exceed 65,536 methods, you encounter a build error that indicates your app has reached the limit of the Android build architecture
加上以下即可
21.
Execution failed for task ':app:processDebugResources'. AAPT: error: unexpected element <queries> found in <manifest>
更新 gradle 版本:
project/build.gradle
22.No non-density apk found
23.Error type 3 Error: Activity class {} does not exist.
24.accessibilityinfo could not be found within the project
25.重新安裝 debug.keystore file
開發相關
1.無法用e.target
建議採用map並加上index方法傳遞。
https://stackoverflow.com/a/42125039
2.取得Input的值或對象
3. Genymotion 存取跟電腦相同的 VPN
設定Adapter 2 的網路為 NAT 即可。
4.重置 ios 或 android 專案
iOS 環境相關
Could not find the following native modules
Pod version 不夠
如果出現 CompileC /Users/Library/Developer/Xcode/DerivedData/rnVideoChat-glonxrdqrszkjpegwxeamdfiunvm/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-webrtc.build/Objects-normal/x86_64/VideoCaptureController.o /Users/easonwang/rnVideoChat/node_modules/react-native-webrtc/ios/RCTWebRTC/VideoCaptureController.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
重新 npm 安裝該模組,升級他的版本即可
Build fail code 65
這時可以去 xcode 查看相關錯誤,或是先更新 xcode。
例如:https://stackoverflow.com/questions/50718018/xcode-10-error-multiple-commands-produce
Last updated