ReactNative Android開發基本問題
首先說一下Android的配置:主要集中在這三個文件的配置上。
對於ReactNative開發來說,一般引入三方庫link都會自動配置好的。
我說一下如何運行
首先新建了ReactNative項目後,他會生成一個Android和IOS目錄。
對於Android來說,環境確實很複雜,依賴多,版本多,我都不知道react-native init XXXProject給我生成的是什麼版本的依賴。所以,生成了Android目錄之後不要輕易react-native init Android,就算你翻牆也會下載好久的。
最簡單方法:首先在AndroidStudio新建一個應用,你就可以知道自己的gradle依賴版本和本地sdk版本,然後直接文件夾打開RN生成的Android項目,改成和你新建項目相同的版本號就可以。
然後用AndroidStudio打開RN生成的Android包,等它自動build結束就會很快,然後在運行。
然後說一下打包問題:
剛剛運行的Android項目是沒有keystore的,所以我們打包生成的是默認的debug-keystore,打生產包是需要生成release-keystore的。
生成release-keystore方法:
首先這是要配置好JDK的,當然你也可以不在環境變量配置好JDK,但是你電腦一定要有JDK,也就是要進入你的安裝目錄的jdk的bin目錄裏,然後執行指令:$ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
這條命令會要求你輸入密鑰庫(keystore)和對應密鑰的密碼,然後設置一些發行相關的信息。最後它會生成一個叫做my-release-key.keystore的密鑰庫文件。
在運行上面這條語句之後,密鑰庫裏應該已經生成了一個單獨的密鑰,有效期爲10000天。–alias參數後面的別名是你將來爲應用簽名時所需要用到的,所以記得記錄這個別名。
注意要保管好keystore文件,別丟了!
然後在gradle中配置你的祕鑰信息:
我是這樣配置的,也就是我的debug和Release都使用release祕鑰進行打包。
這些 System.properties[‘Infore_Key_Store’] 配置寫在 gradle.properties 裏面。
這樣就配置好了keystore了。
然後進入Android項目目錄輸入命令:
$ mkdir -p android/app/src/main/assets
$ curl -k “http://localhost:8081/index.android.bundle”>android/app/src/main/assets/index.android.bundle
$ cd android && ./gradlew assembleRelease
就可以了,注意
$ mkdir -p android/app/src/main/assets
$ curl -k “http://localhost:8081/index.android.bundle”>android/app/src/main/assets/index.android.bundle
只是在首次執行即可,以後再打包直接在android目錄下輸入./gradlew assembleRelease即可。
如果打debug版本,就直接運行到手機就行啦。