美文网首页
uniapp开发 — 安卓离线打包

uniapp开发 — 安卓离线打包

作者: 亓丌兀 | 来源:发表于2020-08-27 16:03 被阅读0次
        目录说明:
        |-- HBuilder-Hello                App离线打包演示应用
        |-- HBuilder-Integrate-AS        集成uni-app或5+ app的最简示例
        |-- SDK                            SDK库文件目录
        |-- Feature-Android.xls            Android平台各扩展Feature API对应的详细配置
        |-- Readme.txt                    版本说明文件及注意事项
        |-- UniPlugin-Hello-AS            uni原生插件开发示例
    
    • 使用HBuilderX生成本地离线包


      本地离线包
    • 将本地离线包内xxx/xxx/unpackage/resources/__UNI__xxxx/www的文件复制到SDK内HBuilder-Hello/app/src/main/assets/apps/HelloH5/www

      本地离线包内www内的文件
    HBuilder-Hello下的www内
    • 修改HBuilder-Hello/app/src/main/res/drawable-xxhdpi/ 文件下内的icon.png、splash.png、push.png

    • HBuilder-Hello/app/src/main/assets/apps/HelloH5的文件名HelloH5修改为 uni-app项目manifest.json中的appid(__UNI__xxxx)

    • 打开 HBuilder-Hello/app/src/main/assets/data/dcloud_control.xml,将appid修改为 uni-app项目manifest.json中的appid(__UNI__xxxx)

      修改appid
    • 打开 HBuilder-Hello/app/build.gradle
      参考文章:Android Studio 一个工程打包多个不同包名的APK实例详解uniApp 安卓多环境打包基础配置
      1.删除defaultConfig内的applicationId,并添加flavorDimensions "default"
      2.增加productFlavors

      修改build.gradle文件
      注意:若build.gradle内定义了自动生成@string/app_name,则app/src/main/res/values/strings.wxml需删除,不然会报错Duplicate resources;否则需要手动修改app_name打开 HBuilder-Hello/app/src/main/res/values/strings.xml
      修改应用名称
    • 打开HBuilder-Hello/app/src/main/AndroidManifest.xml
      1.将包名package替换成要修改成的包名

      修改包名
      2.将所有io.dcloud.HBuilder.Hello替换成要修改成的包名${applicationId}
      3.修改icon和label
      修改icon和label
      4.修改微信支付配置
      微信支付配置
    • 微信支付

    uni-app本地安卓打包,下载uni-app官方sdk,如果修改了包名,要调起微信必须要同时修改一下文件包名,如没修改包名则不需要更改,否则会调用不起微信

    1. HBuilder-Hello/app/src/main/java 下的文件名需要和 HBuilder-Hello/app/src/main/AndroidManifest.xmlpackage 一致
      修改java下的文件名
    2. 修改 WXPayEntryActivity.javaWXEntryActivity.java 内的包名与HBuilder-Hello/app/src/main/AndroidManifest.xmlpackage 一致
      修改 WXPayEntryActivity.java内的包名
      修改 WXEntryActivity.java内的包名
    3. 修改 Androidmainfest.xml


      微信支付配置
    • 原生插件打包配置

      1. HBuilder-Hello/app/src/main/assets目录下创建dcloud_uniplugins.json文件
      {
        "nativePlugins": [
          {
            "hooksClass": "",
            "plugins": [
              {
                "type": "module", // 必填, 根据插件类型选择",
                "name": "PluginModule", //"必填, 注册插件的名称, 注意:module 的 name 必须以插件id为前缀或和插件id相同,比如 `DCTestUniPlugin-TestModule`,其中 DCTestUniPlugin 为插件的id,避免与其他插件冲突,component 的 name 没有强制要求,但是也要保证唯一比如 `dc-map`"
                "class": "com.test.plugin.PluginModule"//  "必填, 注册插件的类名"
              }
            ]
          }
        ]
      }
      
      1. HBuilderX项目使用的插件中android目录下的aar/jar文件放入HBuilder-Hello/app/libs下,其余文件参考插件文档放入指定文件夹中
        HBuilderX项目中
    • 生成apk


      打包1
      打包2
      打包3
      打包4

    注意事项

    • app打包时不能使用本地测试服务地址(localhost或127.0.0.1),打包后会造成白屏
    • 一个页面最好不要引用两个wxs文件,编译器(2.6.5.20200314)之后的版本运行时会报错
    • 修改包名后app部分手机安装失败,可以卸载App后重启手机再重新安装
    • 修改应用图标后安装app,手机端应用图标未更新,可能是手机缓存,可以卸载App后重启手机再重新安装
    • 安卓手机返回键直接退出应用时不执行onHide生命周期
    • onPullDownRefresh 需要在 pages.json 的当前页面的节点里的 style 选项中开启 enablePullDownRefresh;刷新完之后,需要调用uni.stopPullDownRefresh 停止当前页面的下拉刷新,否则会一直loading且不能继续下拉刷新

    参考文档

    相关文章

      网友评论

          本文标题:uniapp开发 — 安卓离线打包

          本文链接:https://www.haomeiwen.com/subject/jqdsjktx.html