React-Native之打包apk及報錯處理

(一)打包:

? ? ? ? 1洽腺、生成一個簽名密鑰:

? ? ? ? ? ? ? ? ? ?你可以用keytool命令生成一個私有密鑰瞻赶。在Windows上keytool命令放在JDKbin目錄中(比如C:\Program Files\Java\jdkx.x.x_x\bin)们拙,先進入那個目錄才能執(zhí)行此命令:keytool -genkey -v -keystoremy-release-key.keystore -aliasmy-key-alias-keyalg RSA -keysize2048-validity10000? ? ?按照操作步驟操作即可? ?完成后生成my-release-key.keystore文件

? ? ? ? 2、設(shè)置gradle變量:

? ? ? ? ? ? ? ? ① 把my-release-key.keystore文件放到你工程中的android/app文件夾下

? ? ? ? ? ? ? ? ② gradle.properties(沒有該文件就創(chuàng)建一個),添加如下的代碼(注意把其中的****替換為相應(yīng)密碼)? ? ? ?

? ? ? ? ? ? ? ? ? ? MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

? ? ? ? ? ? ? ? ? ? MYAPP_RELEASE_KEY_ALIAS=my-key-alias

? ? ? ? ? ? ? ? ? ? MYAPP_RELEASE_STORE_PASSWORD=*****

? ? ? ? ? ? ? ? ? ? MYAPP_RELEASE_KEY_PASSWORD=*****

? ? ? ? 3契吉、添加簽名到項目的gradle配置文件:編輯項目目錄下的android/app/build.gradle

? ? ? ? ? ? ? ?android {?

? ? ? ? ? ? ? ? ? ? ? ? ?...?

? ? ? ? ? ? ? ? ? ? ? ? ?defaultConfig { ... }?

? ? ? ? ? ? ? ? ? ? ? ? ?signingConfigs {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? release {?

?????????????????????????????????????????storeFilefile(MYAPP_RELEASE_STORE_FILE)?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?storePassword MYAPP_RELEASE_STORE_PASSWORD?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? keyAlias MYAPP_RELEASE_KEY_ALIAS?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? keyPassword MYAPP_RELEASE_KEY_PASSWORD }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? buildTypes {?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? release {?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?...

???????????????????????????????????????????????????signingConfig signingConfigs.release?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

?????????????????????????????????}

? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? 4、生成發(fā)行APK包:進入項目的android目錄? 然后運行命令

? ? ? ? ? ? ? ? ? ?mac: ./gradlew assembleRelease? ? ? ??

? ?????????????????window:gradlew assembleRelease

? ??????????????????生成的APK文件位于android/app/build/outputs/apk/app-release.apk屑迂,它已經(jīng)可以用來發(fā)布了


(二)報錯信息及處理:What went wrong:

???????????????????????Execution failed for task ':app:processReleaseResources'.

? ? ? ? ? ? ? ? ? ? ? ??> Failed to execute aapt

? ? ? ? 1浸策、node_modules_reactnavigation_src_views_assets_backicon.png, but the error?uncompiled PNG file passed as argument. Must be compiled first into .flat file.. error: failed parsing overlays.

? ? ? ? ? ? ? ? 原因及解決方法:在gradle.properties文件中添加以下行:android.enableAapt2 = false,它實質(zhì)上使用舊的aapt來獲取資源惹盼。

? ? ? ? ?2庸汗、添加上述問題后可能還會出現(xiàn)Duplicate file, Original is here. The version qualifier may be?implied.

? ? ? ? ? ? ? ? 原因及解決方法:自定義node_modules / react-native / react.gradle以完美地解決重復(fù)文件錯誤擂找。將以下代碼添加到currentBundleTask創(chuàng)建塊(在doFirst塊之后)

? ? ? ? ? ? ? ? doLast {

? ? ? ? ? ? ? ? ? ? ? ?def moveFunc = { resSuffix ->

? ? ? ? ? ? ? ? ? ? ? ? ? ? File originalDir = file("${resourcesDir}/drawable-${resSuffix}")

? ? ? ? ? ? ? ? ? ? ? ? ? ? if (originalDir.exists()) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?File destDir = file("${resourcesDir}/drawable-${resSuffix}-v4")

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ant.move(file: originalDir, tofile: destDir)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ? ? ?moveFunc.curry("ldpi").call()

? ? ? ? ? ? ? ? ? ? ? ? ?moveFunc.curry("mdpi").call()

? ? ? ? ? ? ? ? ? ? ? ? ?moveFunc.curry("hdpi").call()

? ? ? ? ? ? ? ? ? ? ? ? ?moveFunc.curry("xhdpi").call()

? ? ? ? ? ? ? ? ? ? ? ? ?moveFunc.curry("xxhdpi").call()

? ? ? ? ? ? ? ? ? ? ? ? ?moveFunc.curry("xxxhdpi").call()

? ? ? ? ? ? ? ? ?}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茉唉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子佩憾,更是在濱河造成了極大的恐慌掩蛤,老刑警劉巖枉昏,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異揍鸟,居然都是意外死亡兄裂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門阳藻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晰奖,“玉大人,你說我怎么就攤上這事腥泥∝夷希” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵蛔外,是天一觀的道長午衰。 經(jīng)常有香客問我,道長冒萄,這世上最難降的妖魔是什么臊岸? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮尊流,結(jié)果婚禮上帅戒,老公的妹妹穿的比我還像新娘。我一直安慰自己崖技,他們只是感情好逻住,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迎献,像睡著了一般瞎访。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吁恍,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天扒秸,我揣著相機與錄音播演,去河邊找鬼。 笑死伴奥,一個胖子當(dāng)著我的面吹牛写烤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拾徙,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼洲炊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了尼啡?” 一聲冷哼從身側(cè)響起暂衡,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎崖瞭,沒想到半個月后古徒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡读恃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了代态。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寺惫。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蹦疑,靈堂內(nèi)的尸體忽然破棺而出西雀,到底是詐尸還是另有隱情,我是刑警寧澤歉摧,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布艇肴,位于F島的核電站,受9級特大地震影響叁温,放射性物質(zhì)發(fā)生泄漏再悼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一膝但、第九天 我趴在偏房一處隱蔽的房頂上張望冲九。 院中可真熱鬧,春花似錦跟束、人聲如沸莺奸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灭贷。三九已至,卻和暖如春略贮,著一層夾襖步出監(jiān)牢的瞬間甚疟,已是汗流浹背仗岖。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留古拴,地道東北人箩帚。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像黄痪,于是被迫代替她去往敵國和親紧帕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

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