一、參考教程,搭建環(huán)境
教程地址:http://reactnative.cn/docs/0.48/getting-started.html
參考視頻教程跌榔,有以下幾點(diǎn)不同:
(視頻教程地址:https://ke.qq.com/webcourse/index.html#course_id=197101&term_id=100233637&taid=1220874518856173&vid=d1417tgg1ez)
1. Chocolatey 不需要安裝异雁。
2. 跳過(guò)個(gè)性化設(shè)置,直接打開(kāi)歡迎界面的配置 Configure -> SDK Manager (也可隨后在軟件界面的 File -> Settings 中打開(kāi))矫户。
只需勾選安裝以下三個(gè)選項(xiàng)即可片迅。
二、使用模擬器調(diào)試及報(bào)錯(cuò)
1皆辽、Your CPU do not support NX. Unfortunately, your computer does not support hardware accelerated virtualization.
在 Android Studio 上啟動(dòng)模擬器柑蛇,一直處于啟動(dòng)狀態(tài)。
【解決方法】
新增模擬器時(shí)驱闷,選擇 Other Images耻台,并且選擇 ABI 為 arm 的(64位系統(tǒng)必須為 arm64)
2、Unable to load script from assets 'index.android.bundel'. Makve sure your bundel is packaged corredtly or you're running a packager server.
【其他解決方案】
1空另、(in project directory) mkdir android/app/src/main/assets
2盆耽、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
3、react-native run-android
https://stackoverflow.com/questions/44446523/unable-to-load-script-from-assets-index-android-bundle-on-windows
確保以下路徑中有這兩個(gè)文件即可:
3扼菠、Excecution failde fro task ':app:complieDebugJavaWithJavac'.Could not find tools.jar.
【原因】
在安裝java包時(shí)摄杂,會(huì)遇到兩次路徑選擇,第一次時(shí)選擇jdk的路徑循榆,第二次是選擇jre的路徑析恢,如果所選擇的jdk安裝路徑和jre的安裝路徑相同,那么jre包中的內(nèi)容會(huì)覆蓋掉jdk中的內(nèi)容秧饮,所以映挂,在你安裝完成之后,會(huì)發(fā)現(xiàn)找不到tools.jar和dt.jar包盗尸。
【解決方案】
在安裝的過(guò)程中柑船,jdk和jre要安裝在不同的文件下,比如jdk安裝在“d:/java/jdk"下面泼各,jre安裝在“d:/java/jre"下面鞍时。
4、could not connect to development server
【解決方案】
在模擬器中按 Ctrl+M 扣蜻,打開(kāi)調(diào)試工具(Dev Settings)逆巍,點(diǎn)擊Debug server host & port for device,設(shè)置為localhost:8081弱贼。
自己新建的項(xiàng)目通過(guò)上述方法解決了蒸苇,但是另外個(gè)公司里開(kāi)發(fā)的項(xiàng)目還是沒(méi)解決,一直卡這里了吮旅。
?5溪烤、Command `yarn add react-native --exact` failed.
重新注冊(cè)鏡像地址
npm configsetregistry https://registry.npm.taobao.orgnpm configsetdisturl https://npm.taobao.org/dist
6味咳、Application xxx has not been registered
【解決方案】
莫名其妙好了……
7、Process system isn't responding, Close app or Wait ? 點(diǎn)擊兩個(gè)按鈕都沒(méi)反應(yīng)檬嘀。
?【解決方案】
在?Android Studio 中打開(kāi)項(xiàng)目中的?Android 文件夾槽驶,等待幾分鐘的編譯過(guò)程后,若提示更新?gradle 插件鸳兽,則立即更新掂铐,然后點(diǎn)擊運(yùn)行,選擇相應(yīng)的模擬器揍异。
模擬器打開(kāi)后全陨,也會(huì)出現(xiàn)這個(gè)畫面,但是點(diǎn)擊 Close app 后就能運(yùn)行程序衷掷,正常使用了辱姨。
悲劇是的,后來(lái)再次打開(kāi)戚嗅,又出現(xiàn)這個(gè)情況雨涛。
網(wǎng)上看到有人解釋說(shuō):“這個(gè)問(wèn)題在模擬器上比較常見(jiàn),意思是system這個(gè)進(jìn)程沒(méi)有響應(yīng)懦胞,一般是因?yàn)槟M器運(yùn)行速度太慢替久,導(dǎo)致系統(tǒng)不能啟動(dòng)。建議換個(gè)好點(diǎn)的電腦躏尉◎歉”
還是棄用模擬器,轉(zhuǎn)用真機(jī)吧……
? 8醇份、Module HMRClient is not a registerd callable module
【解決方案】
在Dev Setting里面設(shè)置正確的IP稼锅。
參考文章:http://www.reibang.com/p/fbcce5159d77
問(wèn)題是我不知道正確的IP到底該設(shè)什么吼具!
作者:gzfgeh
鏈接:http://www.reibang.com/p/fbcce5159d77
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有僚纷。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處拗盒。
Tips:
1怖竭、創(chuàng)建指定版本的?React-Native 工程
react-native init MyApp --version 0.44.3 ?(注意版本號(hào)必須精確到兩個(gè)小數(shù)點(diǎn)。)
2陡蝇、修改App名稱
一般Android在打包的時(shí)候痊臭,如果沒(méi)經(jīng)過(guò)修改,那么應(yīng)用顯示的名稱就是我們?cè)趓eact-native init時(shí)設(shè)定的名稱登夫,那么广匙,如何修改呢?
step1:我們打開(kāi)項(xiàng)目的android/app/src/main/AndroidManifest.xml文件可以看到名稱的設(shè)定:
這說(shuō)明app的顯示名稱在@string/app_name中進(jìn)行了設(shè)定恼策。
step2:那我們直接繼續(xù)打開(kāi)android/app/src/main/res/values/strings.xml鸦致,即可看到配置中的app_name,修改為你想要的即可,如:
3分唾、修改模擬器調(diào)試服務(wù)地址和端口抗碰,及如何同時(shí)運(yùn)行多個(gè)React Native項(xiàng)目
http://blog.csdn.net/fengyuzhengfan/article/details/77389953
4、優(yōu)化?Android Studio?
http://bbs.itheima.com/thread-204217-1-1.html?
申請(qǐng)大內(nèi)存
installation path\studio64.exe.vmoptions or studio.exe.vmoptions
使用文本編輯器打開(kāi)绽乔,找到起始兩行弧蝇,如下
-Xms128m
-Xmx750m
修改最小值和最大值,建議為
-Xms256m
-Xmx2048m
三折砸、使用安卓真機(jī)調(diào)試及報(bào)錯(cuò)
(一)配置步驟:
參考:http://reactnative.cn/docs/0.50/running-on-device-android.html
配置運(yùn)行:
1看疗、打開(kāi)ANDOID_HOME 的環(huán)境變量的文件夾下的 /android/sdk/platform-tools 文件夾,在此目錄下運(yùn)行命令?adb reverse tcp:8081 tcp:8081
2睦授、設(shè)置手機(jī):開(kāi)發(fā)人員選項(xiàng) - USB調(diào)試 - 勾選
3鹃觉、將手機(jī)通過(guò)USB連接上電腦,在電腦上運(yùn)行命令?adb devices睹逃,查看是否已連上盗扇。
4、打開(kāi)項(xiàng)目沉填,運(yùn)行 react-native run-android 即可在手機(jī)安裝并打開(kāi)app(運(yùn)行方法一 推薦)疗隶。
?運(yùn)行方法二:
1、在?Android Studio 中打開(kāi)項(xiàng)目中的 Android 文件夾翼闹,等待幾分鐘的編譯過(guò)程后斑鼻,若提示更新?gradle 插件,則立即更新猎荠。
2坚弱、點(diǎn)擊運(yùn)行,在 Select Deployment Target 對(duì)話框中選擇相應(yīng)的設(shè)備关摇,即可在真機(jī)上操作荒叶。
(二)報(bào)錯(cuò)及解決方案
1、Android Studio 連接?Android 真機(jī)输虱,找不到設(shè)備?
?【解決方案】
1.手機(jī)連上電腦以后些楣,自動(dòng)連接手機(jī)助手,導(dǎo)致adb被占用宪睹,以至于AS無(wú)法檢測(cè)到設(shè)備愁茁,只要把該手機(jī)助手的進(jìn)程關(guān)閉就好了。
2.當(dāng)發(fā)現(xiàn)adb工具無(wú)法使用或出現(xiàn)異常時(shí)亭病,可以考慮輸入以下命令鹅很,重新對(duì)adb服務(wù)關(guān)閉和重啟:
adb kill-server
adb start-server
Tips:列出當(dāng)前與電腦連接的設(shè)備:
adb devices
?3.其他解決方案參考?https://www.zhihu.com/question/30588024
2、Device supports罪帖, but APK only supports armeabi-v7a, x86
【解決方案】
1促煮、重啟?Android Studio?
2食听、項(xiàng)目的 android -> app 文件夾中的?build.gradle 文件,刪除以下配置
ndk {
? ? abiFilters "armeabi", "armeabi-v7a", "x86"
}
參考文章:https://stackoverflow.com/questions/41775988/what-is-the-reason-for-the-error-device-supports-x86-but-apk-only-supports-arm
3污茵、Could not connect to development server
【解決方案】
點(diǎn)擊菜單或者搖一搖手機(jī)樱报,點(diǎn)擊Dev?Settings后,點(diǎn)擊Debug?server?host?&?port?for?device泞当,設(shè)置為localhost:8081迹蛤。