uniapp项目离线打包为安卓apk并调用高德地图

1,504 阅读3分钟

前言:对HbuiderX离线打包好的uniapp项目,用Android Studio打包为安卓apk,安装在真机中,Android Studio需要经过一系列配置,同时申请高德apk。

一、 uniapp****项目离线打包

1. 在HbuilderX最新版本中建好自己的uniapp项目;

2. 本地打包:发行à原生App-本地打包à生成本地打包App资源

二、将uniapp离线打包后的项目打包为****Android apk

开发环境 (确保自己电脑有Java JDK,详情参考

blog.csdn.net/siwuxie095/…)

1. Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区

(Android Virtual Device安卓虚拟设备,就是在电脑上虚拟出安卓手机的环境,让你可以直接在电脑上运行开发出的APP,建议不要勾选,测试APP的话,直接在真机(一部安卓手机)上测试更好,因为官方出的这个安卓虚拟设备,在电脑上运行很慢,即便你没有一部安卓手机,也可以选择其他的安卓模拟器,运行速度都比这个快)

开始载入Android Studio主程序,出现了Unable to access Android SDK add-on list这里选择了Cancel,一直下一步安装SDK,时间相对较长

(特别提示:有些电脑需要到Android Studio安装的bin目录下找到 idea.properties 这个

使用记事本或其他编辑器,打开这个文件,更改 disable.android.first.run 的值等于true,即disable.android.first.run=true 如果没有则直接添加,或者通过修改hosts添加203.208.43.97 dl.google.com,自行百度,直接next

2. App离线SDK下载:最新android平台SDK下载,以及里面的示例

SDK目录说明

3. 导入工程,配置

解压刚下载的压缩包,导入其中HBuilder-Hello工程

(1) 用第一步离线打包的uniapp项目覆盖下载好的演示项目

也就是将__UNI__A315F75整个文件夹拷贝到

D:\Android-SDK@2.8.13.80432_20200928\HBuilder-Hello\app\src\main\assets\apps

同时将原来的HelloH5删掉

(3**)**返回Android Studio修改文件dcloud_control.xml,修改红框位置,为打包资源的manifest.json的id值

(4**)**修改AndroidManifest.xml与build.gradle(文件不要错,因为外层文件还有一个同名的)两个文件的appId,任意唯一,固定格式为XXX.XXX.XXXXX,例如我的:com.nttdata.test

同时将AndroidManifest.xml里所有的io.dcloud.HelloH5替换成com.nttdata.test

批量替换快捷键ctrl+shift+R

(5**)**将java文件夹下的文件路径替换为现在appid路径:将io.dcloud.HelloH5替换为com.nttdata.test,里面的两个文件相应地方也要替换

4. 申请高德key

先需创建本项目发布版的签名文件,由签名文件生成高德需要的发布版安全码SHA1,可直接用命令行方式创建,可参考

blog.csdn.net/csdnzouqi/a…

本例中使用的命令如下:

keytool -genkey -alias test -keypass 123000 -keyalg RSA -keysize 1024 -validity 36500 -keystore C:\Users\xiaofen.yuan\.android\test.jks -storepass 123000

接着去申请高德key,lbs.amap.com/

通过链接进入高德开放平台,登录后变成如下所示:

点控制台进入应用管理,接着进入我的应用,创建应用

其中高德地图需要发布版安全码SHA1和调试版安全码SHA1

发布版SHA1****的获取:

(1**)打开cmd命令,**找到刚才创建的签名文件的位置

(2**)**输入keytool -list -v -keystore xxx.jks,即可获取到发布版SHA1

调试版SHA1****的获取:

(1**)**调试版本的签名文件位于C:\Users\Administrator\.android下,名称为debug.keystore

找不到debug.keystore文件,解决办法:

在.android****目录下输入: keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000

自己设置秘钥口令

按要求填写内容即可,注意:[否]:y

(2**)**在该密钥库所在的路径下运行cmd,输入keytool -list -v -keystore debug.keystore,回车即可获取。

包名与AndroidMainfest.xml里的package保持一致,一一对应

接着修改AndroidMainfest.xml里android:name="com.amap.api.v2.apikey"的value值

终于进入了最后打包阶段

5. 打包安卓apk