UNIAPP 离线打包 ANDROID APK

需要先安装好环境

  Android Studio  HBuilderX 

  HBuilderX 用于把项目打包成APP资源,Android Studio生成APK.

下载App离线SDK 

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

  下载最新版离线sdk,并且需要和自己的 HBuilderX 版本对应,不然打包出来的可能会出问题,并且老是弹出版本不对应的弹窗。

  解压:

  HBuilder-Integrate-AS 是个可以直接导入 Android Studio 运行的示例项目。

  所以直接导入HBuilder-Integrate-AS 项目,替换它的 App 资源(HBuilderX 导出的),再修改(包括APP名字、图标需要申请的权限配置等)为我们想要样子即可。

 

    或者

    

  打开一个文件,右键 'Run...',把项目添加到右上角列表里面:

      创建模拟器(有其它模拟器或链接真机也可):

  选中设备并运行,可以看到项目正常跑起来。3为APP申请手机权限。

      在此基础上修改项目为我们要的APP

    修改名字、图标:

  可以看到修改效果(push.png为推送消息的图标,splash.png 是启动图,直接替换成想要的就可以):

    修改APP key,打包APP需要配置证书,Android 的自己看着配就好了:

      图中 test.jks 就是这个项目的证书,需要自己配置替换。

      配置证书过后。拿到Android 证书签名SHA1,登录 dcloud 官网生成 Appkey:

        官网文档说明:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey

      生成:keytool -genkey -alias 别名 -keyalg RSA -keysize 2048 -validity 36500 -keystore 文件名.jks
      会提示更改:keytool -importkeystore -srckeystore 文件名.jks -destkeystore 新文件名.jks -deststoretype pkcs12

    回车过后,设置密码和一些信息,看情况填,最好真实信息吧:

    秘钥库口令和秘钥口令可以设置两组不同的密码

    CN代表中国,最后输入Y确定生成,在此输入设置的密码,回车,证书就成功了,最后提示升级格式

      

      生成:keytool -genkey -alias 别名 -keyalg RSA -keysize 2048 -validity 36500 -keystore 文件名.jks

        新的文件名,设置新的密码:

    更改格式:keytool -importkeystore -srckeystore 文件名.jks -destkeystore 新文件名.jks -deststoretype pkcs12

  

    查看证书信息:

      命令行里面没看到证书的MD5信息,可以指定JDK的版本(具体我没试)重新查看或在编辑器里面可以看到(见下面配置)

      

 

     生成key:

    配置使用证书:

keyAlias '别名'
keyPassword '密钥库口令'
storeFile file('升级过的证书.jks')
storePassword '密钥口令'

    

    配置过后可以直接在编辑器查看证书信息:

      点击编辑器右侧 Gradle 选项卡,点击上面 build.gradle 对应的项目(咱就打开了一个),点击 Tasks -> android -> 双击 signingReport,即可弹出 3  部分窗口

    修改包名,一般正式的使用的倒置域名:

      这两个位置要一致(我的包名整错了,后面有报错,不能包含 关键字...换一下,保持相应位置一致即可)

    设置配置本地打包App资源:

    几个位置的 appid 要一致:

      绿色处是文件夹名字(也就是appid),等会打包本地资源直接替换就是:

    版本配置:

      黄色为前面的包名

    打包:

  替换到项目里去:

     找到示例文件直接删除,然后把打包出来的复制进去

    生成APK:

     

 

     记住密码,不然每次都要重新输入

    

    

    汗,包名包含 this 关键字,报错了:

  

    把前面的都改掉再来(登录官网修改包名,重新生成key,再到项目里改包名,生成):

    增加权限或功能

    UNI 云打包 申请了蛮多的权限 和 包含了一些功能块,本地打包要自己配置,示例项目里面连 video 模块都没有:

    添加模块文件:

      找到下载的 Android 离线SDK 内的 模块文件

      这个 lids 文件夹里面包含有可能用到的模块文件

    

    视频模块需要的是: media-release.aar、weex_videoplayer-release.aar 两个

    复制到示例项目里面去,并添加配置信息:

    目标文件夹

    重新运行就可以了!

    

    官网其他对应需要的配置地址:https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/others

原文地址:https://www.cnblogs.com/jiayouba/p/14667918.html