uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)

第11步没写完,后面还有些内容(第三方sdk配置之类的),有空再补上

第一步:正常运行的uniapp

你得有个uniapp,配置是好的可以在微信开发者工具中看的那种,小程序都用不了,就别考虑打包安卓了。

第二步:官方指南

点击HBuilder的发行 --> 原生App-本地打包 -->Android本地打包指南

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第1张图片

 告诉你这个是省得你找各种文档了,官方已经给你搞了一个指南:

原生开发者支持DCloud 原生开发者支持网站 uni小程序SDK、App离线打包SDK、原生插件开发https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android

下面的操作都是跟着指南来,不过千人千变,并没有步步都跟指南一模一样(因为会有各种各样的问题),所以就记录一下。

第三步:环境准备

跟着指南来

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第2张图片

1)下载Android Studio,带着版本号然后百度,就会有安装教程了。

别以为搞uniapp安卓了,就不用了解原生安卓的开发了,uniapp安卓打包要借助Android Studio 安卓开发工具的。建议你懂一点原生安卓开发,会用这个Android Studio,弄目录结构就差不多了。

2)HBuilderX,我直接就下载了App开发版

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第3张图片

 3)下载App离线SDK

这一步是为了后面,我们需要一些jar包和一些文件,都在这个App离线SDK里,先下载好。

 uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第4张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第5张图片

第四步:Android Studio 新建工程

官方截图有点旧,我的新建工程图:

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第6张图片

 注意点:包名,项目名别用中文哈

第五步:配置工程

1) 找App离线SDK里的四个jar包

这个就是刚刚说的要用到App离线SDK里的jar了,四个jar包,它在:

 HBuilder-Integrate-AS\simpleDemo\libs

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第7张图片

 注意点:HBuilder-Integrate-AS\simpleDemo\libs 这个路径的jar包刚好是我们要的四个,如果你去其他文件夹找了,你会发现超级多的jar包。。。。

2)复制jar包到自己的Android Studio的新项目里

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第8张图片

 uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第9张图片

 uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第10张图片

 uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第11张图片

 uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第12张图片

 3)在主app的build.gradle进行相关配置

(这就需要你懂原生安卓的目录结构了,不然你都分不清是哪个文件)

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第13张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第14张图片

    multiDexEnabled true

    aaptOptions {
        additionalParameters '--auto-add-overlay'
        ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
    }

    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(include: ['*.aar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'com.facebook.fresco:fresco:2.5.0'
    implementation "com.facebook.fresco:animated-gif:2.5.0"
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation 'com.alibaba:fastjson:1.1.46.android'

4)配置Appkey

1. 生成安卓平台签名证书

注意点:一定要记住别名,一定要记住密码,命令运行完成后就会生成证书,在你的命令行的地址那里。

Android平台签名证书(.keystore)生成指南 - DCloud问答https://ask.dcloud.net.cn/article/35777

2. 生成Appkey

原生开发者支持DCloud 原生开发者支持网站 uni小程序SDK、App离线打包SDK、原生插件开发https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey注意点:你的包名,证书别名,证书的SHA1,还有你的uniapp的AppID,要保证没写错哦

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第15张图片

 3.配置Appkey

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第16张图片

4. android平台-配置签名文件打包编译(修改完build.gradle,要sync now)

注意点:debug的不要漏掉,不然你在Android Studio上运行会提示 appkey is not configured or configured incorrect。

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第17张图片

 原生开发者支持DCloud 原生开发者支持网站 uni小程序SDK、App离线打包SDK、原生插件开发https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey?id=_3%E3%80%81android%E5%B9%B3%E5%8F%B0-%E6%80%8E%E4%B9%88%E9%85%8D%E7%BD%AE%E7%AD%BE%E5%90%8D%E6%96%87%E4%BB%B6%E6%89%93%E5%8C%85%E7%BC%96%E8%AF%91%EF%BC%9F

signingConfigs {
        config {
            keyAlias '签名别名'
            keyPassword '密码'
            storeFile file('xxx.keystore或xxx.jks')
            storePassword '密码'
            v1SigningEnabled true //兼容v1
            v2SigningEnabled true //兼容v2
        }
}

buildTypes {
        debug {
            signingConfig signingConfigs.config
            ...
        }
        release {
            signingConfig signingConfigs.config
            ...
        }
}

5)AndroidManifest.xml配置应用启动页

注意点:用官方的我没把项目运行起来,搜了一下每个Activity要加一行代码

android:exported = "true"

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第18张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第19张图片

        
            
                
                
            
        
        
            
                
                
                
                
            
        

6) 修改应用名(可以放在运行成功之后再返回来搞)

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第20张图片

 7)配置应用图标和启动界面(可以放在运行成功之后再返回来搞)

图标设置:

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第21张图片

 启动页面:

.9 图片各黑边

  • 左边黑线:垂直拉伸区域,必须要画的
  • 上边黑线:水平拉伸区域,必须要画的
  • 右边黑线:在垂直拉伸的时候,内容显示区域(不是必须要画的)
  • 下边黑线:在水平拉伸的时候,内容显示区域(不是必须要画的)

所以我们的启动页面 准备720*1242尺寸的图,然后只在左边和右边描黑边,最后注意图片放的位置别放错了!!!!!!放的位置是drawable-xhdpi(这个文件夹直接新建就可以了)

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第22张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第23张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第24张图片

具体描黑边的做法:因为准备的尺寸图,大体上符合市面上的机型了,所以我们描黑边,只描要伸展或者缩小的地方,不要描太多,不然为了你的不失真区域,就会把你黑边的地方都给你缩了,就成了局部放大的效果了。(横向多,纵向少)

参考文档:

android启动页底部图案,用一张正方形图片搞定安卓启动页_weixin_39593247的博客-CSDN博客

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第25张图片

第六步:HbuilderX 生成本地打包资源

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第26张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第27张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第28张图片

 第七步:Android Studio打包资源配置

1)创建assets文件夹(在Android Studio里创建文件夹,不要直接在文件管理器里创建)

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第29张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第30张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第31张图片

2) 在assets文件夹里创建 apps、data 两个文件夹

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第32张图片

 3)把打包的AppID文件名的资源复制粘贴到apps

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第33张图片

 4) 把离线打包SDK的SDK里的assets里的data里的三个文件复制粘贴到我们新建的data文件夹

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第34张图片

 uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第35张图片

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第36张图片

 5)修改dcloud_control.xml文件,填写自己uniapp AppID

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第37张图片

 第八步:在Android Studio 点击运行

 第九步:如果运行成功,就可以用Android Studio打一个debug版本的包了

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第38张图片

第10步:发测试包给其他人员

如何实现扫码下载app_Smallactive的博客-CSDN博客_扫码下载app1. 把自己的应用上传到服务器。这里主要有两种方法。     (1).把apk上传到腾讯开放平台。参考方法:https://jingyan.baidu.com/article/295430f1f612a00c7e0050c3.html      (2)把apk上传到蒲公英应用托管平台https://www.pgyer.com/       两种方法的比较:       第一种方法适...https://blog.csdn.net/qq_41149269/article/details/82917268uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第39张图片

第11步:模块及三方SDK配置

如果你的项目有用了第三方:比如地图、支付,你就要在安卓里进行相关SDK配置还有权限配置。

在模块及三方SDK配置之前,我们需要生成自定义基座,来达到app调试的目的,不然你就会觉得我什么都配好了,怎么还是跑不起来,哪出了问题,出了什么问题都不知道。。。。。。

1)生成自定义基座

uniapp 发行 原生APP本地打包 安卓APK(最全的步骤)_第40张图片

使用该基座

android——离线打包制作自定义基座 - DCloud问答

你可能感兴趣的:(安卓,uniapp,android)