Android Studio 運(yùn)行 React Native 開(kāi)發(fā)手機(jī)App 起步和踩坑

一、參考教程,搭建環(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迹蛤。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市襟士,隨后出現(xiàn)的幾起案子盗飒,更是在濱河造成了極大的恐慌,老刑警劉巖陋桂,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逆趣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡嗜历,警方通過(guò)查閱死者的電腦和手機(jī)宣渗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)梨州,“玉大人痕囱,你說(shuō)我怎么就攤上這事”┙常” “怎么了鞍恢?”我有些...
    開(kāi)封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)每窖。 經(jīng)常有香客問(wèn)我帮掉,道長(zhǎng),這世上最難降的妖魔是什么窒典? 我笑而不...
    開(kāi)封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任蟆炊,我火速辦了婚禮,結(jié)果婚禮上崇败,老公的妹妹穿的比我還像新娘盅称。我一直安慰自己肩祥,他們只是感情好后室,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著混狠,像睡著了一般岸霹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上将饺,一...
    開(kāi)封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天贡避,我揣著相機(jī)與錄音痛黎,去河邊找鬼。 笑死刮吧,一個(gè)胖子當(dāng)著我的面吹牛湖饱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杀捻,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼井厌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了致讥?” 一聲冷哼從身側(cè)響起仅仆,我...
    開(kāi)封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垢袱,沒(méi)想到半個(gè)月后墓拜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡请契,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年咳榜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爽锥。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贿衍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出救恨,到底是詐尸還是另有隱情贸辈,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布肠槽,位于F島的核電站擎淤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏秸仙。R本人自食惡果不足惜嘴拢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寂纪。 院中可真熱鬧席吴,春花似錦、人聲如沸捞蛋。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拟杉。三九已至庄涡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搬设,已是汗流浹背穴店。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工撕捍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泣洞。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓忧风,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親球凰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子阀蒂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容