零基礎(chǔ)用react-native開(kāi)發(fā)android app
原理
我們的debug程序中,js代碼是調(diào)試時(shí),不斷從server加載到移動(dòng)端的。但是發(fā)布成獨(dú)立apk時(shí),總不能讓app啟動(dòng)的時(shí)候遠(yuǎn)程加載js代碼吧。RN的做法是將所有js打成一個(gè)bundle文件,作為android的資源,放在assets目錄下面。而assets下的文件是會(huì)在安裝時(shí),隨工程一并安裝到移動(dòng)端本地的。這樣apk安裝好后,RN會(huì)負(fù)責(zé)去加載。
步驟
-
將js代碼導(dǎo)成資源目前android版本需要手動(dòng)去做。參考issues。相信Facebook后面的版本會(huì)馬上會(huì)發(fā)布自動(dòng)導(dǎo)資源的命令。實(shí)際現(xiàn)在也挺簡(jiǎn)單:當(dāng)react-native的server啟動(dòng)后。把http://localhost:8081/index.android.bundle?platform=android
這個(gè)地址的js拷出來(lái)即可。
1.cd to the project directory2.Start the react-native packager if not started 3.Download the bundle to the asset folder: curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle" 生成簽名apk參考官網(wǎng)教程。這里不用android studio,純命令行就可以,官網(wǎng)教程很詳細(xì)。最后生成的apk在android/app/build/outputs
下面。嫌麻煩可以把以上步驟放在一個(gè)shell腳本中。