uni-app離線打包apk
記錄一下打包apk的過(guò)程:
參考:uni-app離線打包官網(wǎng)地址
1. 打包需要
2.導(dǎo)入工程
2-1.遇見問(wèn)題
1. 加載.idea和.gradle失敗,
Unsupported Java.
Your build is currently configured to use Java 17.0.6 and Gradle 6.5.
Possible solution:
- Upgrade Gradle wrapper to 7.2 version and re-import the project
解決:File
→Project Structure
重新構(gòu)建:File
→Sync Project with Gradle Files
安卓結(jié)構(gòu):Project
→Android
3.申請(qǐng)appkey
登錄開發(fā)者中心選擇需要打包的應(yīng)用→各平臺(tái)信息→查看或新增安卓打包信息
- 這里為了項(xiàng)目的交接和管理,還有一些權(quán)限問(wèn)題,最好用公司的郵箱登錄;
- 該賬號(hào)和hbuilder開發(fā)時(shí)候的賬號(hào)是一個(gè),開發(fā)運(yùn)行的時(shí)候項(xiàng)目就自動(dòng)添加上了;
- 如果在自己的賬號(hào)已經(jīng)添加上了可以轉(zhuǎn)移項(xiàng)目到公司的賬號(hào)上;
- 如果appID還沒(méi)用過(guò)可以在hbuilder里面重新登錄,在根目錄manifest.json→基礎(chǔ)配置→重新獲取appID,運(yùn)行一下項(xiàng)目就加上了;
- 這里需要的應(yīng)用簽名相關(guān)的信息就是版權(quán)信息,需要配一下;
3-1.SHA1
因?yàn)槭前鏅?quán)信息,所以可以多個(gè)項(xiàng)目用一個(gè)簽名,如果之前有簽名,就直接在簽名的目錄下打開控制臺(tái),輸入keytool -list -v -keystore keystore.jks
→輸入密碼獲?。ㄗ⒁饷艽a輸入不會(huì)顯示,不可使用復(fù)制粘貼)
注意:
- 官網(wǎng)給出的獲取SHA1的文檔的jarsinger簽名格式只支持v1簽名,
- Android studio 打包應(yīng)用自帶的apksinger格式支持v1和v2簽名
- 安卓離線打包v1版本和v2版本簽名官方說(shuō)明
- 總結(jié):就是版本升級(jí)和權(quán)限的問(wèn)題,用哪個(gè)都行,但是上架谷歌應(yīng)用商店只支持apksigner驗(yàn)證
申請(qǐng)簽名:
這里我用的是apkSinger:
① Build
→Generate Signed Bundle / APK...
(注意只有項(xiàng)目構(gòu)建成功后才會(huì)有這個(gè)選項(xiàng))
② 選擇APK
→Next
③ 選擇Creat new...
④填寫信息→OK
→Next
⑦release
→Create
⑧根目錄下生成了密鑰文件→在文件夾中打開→cmd打開控制臺(tái)
⑨輸入keytool -list -v -keystore keystore.jks
→輸入密碼(注意密碼輸入不會(huì)顯示,不可使用復(fù)制粘貼),
keystore.jks為你的密鑰文件名
3-2.在開發(fā)者中心添加安卓平臺(tái)的信息
①填寫信息
②創(chuàng)建appkey
4.配置項(xiàng)目
①配置appkeysimpleDemo/src/main/AndroidMainifest.xml
②配置應(yīng)用版本號(hào)和密鑰/simpleDemo/build.gradle
③配置應(yīng)用名稱simpleDemo/src/main/res/values/strings.xml
④配置應(yīng)用啟動(dòng)頁(yè)及provider節(jié)點(diǎn):該配置項(xiàng)目模板已配過(guò),核對(duì)一下就行simpleDemo/src/main/AndroidMainifest.xml
⑤配置應(yīng)用圖標(biāo)和啟動(dòng)頁(yè)simpleDemo/src/main/res/drawable/...png
5.打包應(yīng)用
①Hbuilder生成本地打包資源
②替換AndroidStudio的資源simpleDemo/src/main/apps/__UNI_A
__UNI_A為appIDsimpleDemo/src/main/data/dcloud_control.xml
③打包Build
→Generate Signed Bundle / APK...
→選擇APK→Next→輸入別名和別名密碼→Next→選擇release→Create
5-1.遇見問(wèn)題
5-1打包失敗-gradle版本問(wèn)題
1.gradle版本和Java jdk版本不對(duì)應(yīng)
Unable to make field private final java.lang.String java.io.File.path accessible:
module java.base does not "opens java.io" to unnamed module @3b998fc7
解決:這里我百度搜索都是下載一個(gè)對(duì)應(yīng)版本的Java,但是這條報(bào)錯(cuò)的同時(shí)右下角還有一個(gè)提示,點(diǎn)擊按鈕就彈出如下窗口,在右側(cè)Notifications也能找到,如果沒(méi)有彈窗就File
→Sync Project with Gradle Files
重新構(gòu)建一下,該問(wèn)題和2-1的問(wèn)題是相互影響的,當(dāng)時(shí)沒(méi)注意所以打包失敗
然后不用選,直接按照默認(rèn)選項(xiàng)點(diǎn)擊Run selected steps
,然后重新 Build
→Generate Signed Bundle / APK...
打包,可能還會(huì)提示這個(gè)錯(cuò)誤,這時(shí)候重復(fù)此操作,就可以了,它在自動(dòng)匹配gradle和gradle plugin 的版本。
我的成功打包后的gradle和gradle plugin版本:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-854529.html
④打包成功,文件夾位置:simpleDemo/release/simpleDemo-release.apk
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-854529.html
到了這里,關(guān)于uni-app離線打包安卓apk的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!