LOVETOO-前端编程

uniapp离线打包APP - Android Studio详细

2021-10-09  本文已影响0人  车文烨

本文针对能进行云打包的uniapp项目!

准备工作

  1. uniapp项目;
  2. HBuilderX;
  3. Android Studio(本文用的是 android-studio-2020.3.1.24-windows.exe);
  4. SDK(版本需要和HBuilderX版本一致);
  5. 各种权限、key、appid、包名、别名、密钥密码、证书、sha1等;

SDK 目录

下载地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android

|-- HBuilder-Hello                     App离线打包演示应用
|-- HBuilder-Integrate-AS        集成uni-app的最简示例
|-- SDK                                    SDK库文件目录
|-- Feature-Android.xls            Android平台各扩展Feature API对应的详细配置
|-- Readme.txt                         版本说明文件及注意事项
|-- UniPlugin-Hello-AS             uni原生插件开发示例

主要用到的是 HBuilder-Integrate-AS

一、生成本地打包APP资源

HBuilderX菜单:发行=》原生app本地打包=》生成本地打包APP资源;
生成的资源后面用到

二、准备工程

  1. HBuilder-Integrate-AS复制到项目文件夹;
  2. 打开Android studio新建一个空白项目,选择No Activity(下图);
  3. 关掉电脑各个域防火墙,不然后面下载不了Gradle,或者手动下载;
  4. 右上角点击 Import Project 导入刚才复制的HBuilder-Integrate-AS
  5. 配置项目时,语言选择 JAVA(App离线SDK不支持Kotlin),Minimum API Level 选21及以上;
  6. 静待下载各种依赖包(右下角有进程);
  7. 左上角把 Android 切换为 Project(下图);
Project 导入.jpg Project 切换.png

三、配置各种文件

参考官方文档:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android

  1. 可以把 simpleDemo 修改为 app,但是要把相应的名称都改掉(全局搜索);
    simpleDemo.png
  2. 把第一步打包好的资源放到 \app\src\main\assets\apps 内;
  3. \app\src\main\assets\datadcloud_control.xml 的appid改为自己的;
  4. \app\src\main\res\drawable 的图标改为自己的,splash则可以右键创建 .9 启动图(splash.png和splash.9.png只能保留一个);
  5. \app\src\main\res\values\strings.xml 的app名称改为自己的,这个会显示在手机桌面;
  6. 重点 修改文件 \app\src\main\AndroidManifest.xml
把manifest节点的package属性改为自己项目的包名;
把${apk.applicationId}改为自己项目的包名;
搜索dcloud_appkey,把下一行的value值改为dcloud开发者后台生成的appkey;

添加权限:在application节点前,与application节点并列:

例如:(也就是uniapp项目的配置文件manifest.json里面的权限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的节点并列)

<meta-data
       android:name="com.amap.api.v2.apikey"
       android:value="这里填高德开发平台配置好安卓应用的key" />
<service android:name="com.amap.api.location.APSService" />

同时要把下载的SDK中复制sdk目录里地图相关的sdk文件到工程中:


定位SDK.png
  1. 配置build.gradle,在app(simpleDemo)目录下:
defaultConfig:
applicationId包名
versionCode版本号code
versionName版本号

signingConfigs:配置证书相关信息

如果要配置打包后包名称,可以搜索applicationVariants.all最新配置方法;

四、编译报错等问题(编译之前处理这些)

  1. 编译报错:License for package Android SDK Build-Tools 29.0.2not accepted
    原因是跟HBuilder的sdk版本不一样;解决:
    菜单选择file=》setting=》
    按步骤选择、下载sdk、应用、确认;
    setting.png
  2. 编译报错:.android/repositories.cfg could not be loaded
    解决:进入该文件目录,C:\Users\xxx\.android\
    运行命令:touch ~/.android/repositories.cfg

五、打包apk

  1. 点击右上角的 绿色锤子Make Project 编译打包;
  2. 编译成功之后(确定没报错),点击左上菜单Build => Generate Singed Bundle or APK,选择 apk ,下一步填证书信息,勾上记住密码,下一步选择release,等待打包完成;
  3. 生成的apk在app(simpleDemo)的release目录下。
上一篇下一篇

猜你喜欢

热点阅读