本文針對能進行云打包的uniapp項目奶镶!
準備工作
- uniapp項目赂摆;
- HBuilderX躬络;
- Android Studio(本文用的是 android-studio-2020.3.1.24-windows.exe);
- SDK(版本需要和HBuilderX版本一致)鹊杖;
- 各種權(quán)限坯沪、key绿映、appid、包名腐晾、別名叉弦、密鑰密碼、證書藻糖、sha1等淹冰;
SDK 目錄
下載地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android
|-- HBuilder-Hello App離線打包演示應(yīng)用
|-- HBuilder-Integrate-AS 集成uni-app的最簡示例
|-- SDK SDK庫文件目錄
|-- Feature-Android.xls Android平臺各擴展Feature API對應(yīng)的詳細配置
|-- Readme.txt 版本說明文件及注意事項
|-- UniPlugin-Hello-AS uni原生插件開發(fā)示例
主要用到的是 HBuilder-Integrate-AS
一、生成本地打包APP資源
HBuilderX菜單:發(fā)行=》原生app本地打包=》生成本地打包APP資源颖御;
生成的資源后面用到
二榄棵、準備工程
- 把
HBuilder-Integrate-AS
復(fù)制到項目文件夾凝颇; - 打開Android studio新建一個空白項目潘拱,選擇No Activity(下圖);
- 關(guān)掉電腦各個域防火墻拧略,不然后面下載不了Gradle芦岂,或者手動下載;
- 右上角點擊 Import Project 導(dǎo)入剛才復(fù)制的
HBuilder-Integrate-AS
垫蛆; - 配置項目時禽最,語言選擇
JAVA
(App離線SDK不支持Kotlin),Minimum API Level 選21及以上袱饭; - 靜待下載各種依賴包(右下角有進程)川无;
- 左上角把
Android
切換為Project
(下圖);
Project 導(dǎo)入.jpg
Project 切換.png
三虑乖、配置各種文件
參考官方文檔:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
- 可以把
simpleDemo
修改為 app懦趋,但是要把相應(yīng)的名稱都改掉(全局搜索);
simpleDemo.png - 把第一步打包好的資源放到
\app\src\main\assets\apps
內(nèi)疹味; - 把
\app\src\main\assets\data
的dcloud_control.xml
的appid改為自己的仅叫; - 把
\app\src\main\res\drawable
的圖標改為自己的帜篇,splash則可以右鍵創(chuàng)建 .9 啟動圖(splash.png和splash.9.png只能保留一個); - 把
\app\src\main\res\values\strings.xml
的app名稱改為自己的诫咱,這個會顯示在手機桌面笙隙; -
重點
修改文件\app\src\main\AndroidManifest.xml
把manifest節(jié)點的package屬性改為自己項目的包名;
把${apk.applicationId}改為自己項目的包名坎缭;
搜索dcloud_appkey竟痰,把下一行的value值改為dcloud開發(fā)者后臺生成的appkey;
添加權(quán)限:在application節(jié)點前幻锁,與application節(jié)點并列:
例如:(也就是uniapp項目的配置文件manifest.json里面的權(quán)限permission那一坨)
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
如果有高德定位則需要配置高德key:(與剛才配置dcloud_appkey的節(jié)點并列)
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="這里填高德開發(fā)平臺配置好安卓應(yīng)用的key" />
<service android:name="com.amap.api.location.APSService" />
同時要把下載的SDK中復(fù)制sdk目錄里地圖相關(guān)的sdk文件到工程中:
定位SDK.png
- 配置
build.gradle
凯亮,在app(simpleDemo)目錄下:
defaultConfig:
applicationId包名
versionCode版本號code
versionName版本號
signingConfigs:配置證書相關(guān)信息
如果要配置打包后包名稱,可以搜索applicationVariants.all最新配置方法;
四哄尔、編譯報錯等問題(編譯之前處理這些)
- 編譯報錯:
License for package Android SDK Build-Tools 29.0.2not accepted
假消;
原因是跟HBuilder的sdk版本不一樣;解決:
菜單選擇file=》setting=》
按步驟選擇岭接、下載sdk富拗、應(yīng)用、確認鸣戴;
setting.png - 編譯報錯:
.android/repositories.cfg could not be loaded
啃沪;
解決:進入該文件目錄,C:\Users\xxx\.android\
運行命令:touch ~/.android/repositories.cfg
五窄锅、打包apk
- 點擊右上角的 綠色錘子Make Project 編譯打包创千;
- 編譯成功之后(確定沒報錯),點擊左上菜單
Build => Generate Singed Bundle or APK
入偷,選擇 apk 追驴,下一步填證書信息,勾上記住密碼疏之,下一步選擇release殿雪,等待打包完成; - 生成的apk在app(simpleDemo)的release目錄下锋爪。