react-natve Android打包,到手機安裝全過程。 react-natve Android打包失敗、react-natve Android手機安裝完成之後打不開,閃退!

打包共5個步驟

1.在終端裏面,cd 到項目的根目錄後.執行下面這行命令:

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

2.執行第一步會在根目錄下會生成一個XXXXXX.keystore的文件,直接拿到android/app下.

3.在android/gradle.properties中加入(******換爲你剛纔輸入的口令.):

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=******

MYAPP_RELEASE_KEY_PASSWORD=******

 

4.在android/app/build.gradle添加下面<<<<< 中的內容 >>>>>

 

def enableProguardInReleaseBuilds = true // 改爲true

android {
...
    defaultConfig {
....
    }
    <<<<< 
        signingConfigs {
            release {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    >>>>>
    splits {
....
    }
    buildTypes {
        release {
            <<<<< signingConfig signingConfigs.release >>>>>
           ...
        }
    }
}

 

5.終端cd 到android目錄下.執行命令

./gradlew assembleRelease

 


但是出現了一個問題,> Cannot add task 'wrapper' as a task with that name already exists. 說是在android/build.gradle 文件36行報錯

最終發現原因是gradle版本問題

// 舊版本是:
task wrapper(type:Wrapper) {
    //configuration
}

// 新版本是:
wrapper {
    //configuration
}

改完之後,再次執行./gradlew assembleRelease

成功了。


但是發現手機安裝完成之後打不開,閃退!

在項目根目錄下執行

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

執行成功之後會在/android/app/src/main/assets下面生成一個Bundle文件
完事之後再次到android目錄下執行 ./gradlew assembleRelease

 

如果還是不行
找到android/app/src/main/java 刪除 drawable

再次重新打包即可

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章