uniapp开发---Android打包发行(避坑指南四)

android离线打包,原生打包。参考官网文档

应用配置 | uni小程序SDK

【彩带- 避坑知识点】:

安卓离线打包,功能都正常,版本更新无法实现下载后自动安装。

但uniapp云打包则下载更新安装都正常。猜测可能是因为安卓离线打包缺少aar包导致的。

解决方案:

lib下要放上install-apk-release.aar

uniapp开发---Android打包发行(避坑指南四)_第1张图片


安卓打包详情流程如下:

1.android studio项目的libs目录下要有这些jar包。

uniapp开发---Android打包发行(避坑指南四)_第2张图片

2.去uniapp项目下。点击发行 ->  原生APP-本地打包  ->  生成本地打包APP资源。

uniapp开发---Android打包发行(避坑指南四)_第3张图片

3、把步骤二生成的资源拷贝到安卓项目目录下。  项目下 app/src/main/assets/apps/

uniapp开发---Android打包发行(避坑指南四)_第4张图片

4.修改dcoloud_control.xml文件, appid名称,换成我们uniapp项目的appid。 和第三步生成的app资源文件目录一致,如下图

uniapp开发---Android打包发行(避坑指南四)_第5张图片

5.app目录的build.gradle配置项目依赖dependencies,

这里注意一个问题。就是这些插件的版本要和hubilderX的版本保持一样。因为这样hbuilder生成的app资源,才能正常运行。  【引入libs目下的库和其它依赖库】

详见 android 离线sdk版本对应关系Android 离线SDK - 正式版 | uni小程序SDK

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation fileTree(dir: 'libs', include: ['*.aar'])

    /*uniapp所需库-----------------------开始*/
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
    implementation 'com.facebook.fresco:fresco:1.13.0'
    implementation "com.facebook.fresco:animated-gif:1.13.0"
    /*uniapp所需库-----------------------结束*/
    // 基座需要,必须添加
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'com.alibaba:fastjson:1.2.83'
    implementation 'androidx.webkit:webkit:1.3.0'
    implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
    implementation 'androidx.core:core:1.1.0'
    implementation "androidx.fragment:fragment:1.1.0"
    implementation 'androidx.appcompat:appcompat:1.1.0'
}

6.app下的AndroidManifest.xml文件要把uniapp项目在manifest.xml文件声明的权限在。这边同步声明一遍。权限跟自己自己的业务需求 ,需要什么就注册什么。 (像网络,外部存储读写,install安装相关的,更新版本安装都需要,所以就都需要注册一下)

  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

7、版本号版本名称, 修改app项目下build.gradle文件的版本号和版本名称,和uniapp项目中manifest.xml文件的  要保持一致。

uniapp开发---Android打包发行(避坑指南四)_第6张图片

8、 uni-app配置时需要在build.gradle中添加aaptOptions配置, 放android{} 内。

   //使用uniapp时,需复制下面代码
    /*代码开始*/
    aaptOptions {
        additionalParameters '--auto-add-overlay'
        //noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
    }
    /*代码结束*/

9. androidStudio配置支持aar加载,新老gradle构建工具aar配置有所变化

老版本在app的build.gradle中配置

新版本在仓库级别里面配置,项目根目录里面的build.gradle或者settings.gradle

10.app/build.gradle要改成和自己的项目 appid一致。

uniapp开发---Android打包发行(避坑指南四)_第7张图片

11、打包(按照以下布置,选择打包,选择证书,输入对应的密码和别名,下一步,完成。打包成release版本,为正式版本)

uniapp开发---Android打包发行(避坑指南四)_第8张图片

uniapp开发---Android打包发行(避坑指南四)_第9张图片

uniapp开发---Android打包发行(避坑指南四)_第10张图片

uniapp开发---Android打包发行(避坑指南四)_第11张图片

你可能感兴趣的:(uniapp,android开发,uni-app,安卓离线sdk打包,android)