在HBuilder上对APP提供了两种打包方式,云打包和本地打包,下面主要对这两种打包方式做个介绍

两者的区别:云打包相对简单,但是每天最多只能打包五次,而且在高峰期打包时间可能会很长,本地打包相对比较复杂,但是不限制次数,打包时间也短

一. 云打包:只需要设置相应参数即可。比较复杂的地方可能就是证书,如果你是测试包,Android的话直接选择共用证书即可,ios则需要申请相应证书,申请证书的具体方法官方也介绍的很清楚了,就不赘述了。


二.本地打包:本地打包相对比较麻烦,官网也做了详细介绍,但是感觉不太精简,设置一大堆,看起来也不清晰,所以我在这边大致整理了一下(uni-app安卓打包方式),大致分为底下几个步骤。

  1. 需要用到的软件:
    Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区
    App离线SDK下载:最新android平台SDK下载
  2. 打包步骤
  • 在 HBuilder 上选择发行 -> 原生App-本地打包 -> 生成本地App打包资源,会在项目里生成一个unpackage的文件夹

  • 打开Android studio新建一个空白项目


    因为会自己生成默认属性,Minimum API Level也会选择最新的,所以一路next,Finish就行了

    将lib.5plus.base-release.aar、android-gif-drawable-release@1.2.17.aar、uniapp-v8-release.aar和miit_mdid_1.0.13.aar拷贝到libs目录下(这几个包的地址:你下载的App离线SDK -> SDK -> libs)

注意:HBuilderX2.8.0以前需要将uniapp-v8-release.aar替换为uniapp-release.aar

  • 配置build.gradle


  • 配置应用名称

    打开app->src -> main -> values -> strings.xml文件,修改“app_name”字段值,该值为安装到手机上桌面显示的应用名称,建议与manifest.json中name(基础配置中的应用名称)对应。

  • 配置应用启动页以及provider节点
    将下面的代码添加到Androidmanifest.xml的application节点中(如果存在MainActivity的节点,必须删掉!)

  • 将icon.png(图标)、ic_launcher.png(应用启动页图片)放置到drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi,drawable-xxhdpi文件夹下,不同文件夹下对应不同图片尺寸,可参考文档(这两个图片名字随意起,与配置处对应即可)

   <activityandroid:name="io.dcloud.PandoraEntryActivity"android:launchMode="singleTask"android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"android:hardwareAccelerated="true"android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"android:screenOrientation="user"android:theme="@style/DCloudTheme"android:windowSoftInputMode="adjustResize"><intent-filter><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><action android:name="android.intent.action.VIEW" /><data android:scheme="h56131bcf" /></intent-filter></activity><!--provider节点必须添加--><providerandroid:name="io.dcloud.common.util.DCloud_FileProvider"android:authorities="com.example.myapplication.dc.fileprovider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/dcloud_file_provider" /></provider>

配置后的图片以及属性内容


我这边完整的AndroidManifest.xml文件(仅供参考)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.myapplication"><applicationandroid:allowBackup="true"android:icon="@mipmap/icon"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.MyApplication"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activityandroid:name="io.dcloud.PandoraEntry"android:configChanges="orientation|keyboardHidden|keyboard|navigation"android:label="@string/app_name"android:launchMode="singleTask"android:hardwareAccelerated="true"android:theme="@style/TranslucentTheme"android:screenOrientation="user"android:windowSoftInputMode="adjustResize" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activityandroid:name="io.dcloud.PandoraEntryActivity"android:launchMode="singleTask"android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"android:hardwareAccelerated="true"android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"android:screenOrientation="user"android:theme="@style/DCloudTheme"android:windowSoftInputMode="adjustResize"><intent-filter><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><action android:name="android.intent.action.VIEW" /><data android:scheme="h56131bcf" /></intent-filter></activity><!--provider节点必须添加--><providerandroid:name="io.dcloud.common.util.DCloud_FileProvider"android:authorities="com.example.myapplication.dc.fileprovider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/dcloud_file_provider" /></provider></application></manifest>
  • 资源配置
    在main底下创建文件夹,main -> assets -> apps,将打包的文件放入apps文件夹下,将下载的SDK -> assets -> data文件夹拷贝到 main -> assets文件夹下
  • 修改dcloud_control.xml文件


  • 最后连接手机,点击运行按钮即可


如果你想打一个APK的包出来,点击Build -> Build Bundle(s)/APK()s -> Build APK(s)即可

控制台会打印以下内容,看到successfully表示打包成功,点击locate可直接跳转打包好的APK存储的位置

App打包的两种方式相关推荐

  1. Maven项目依赖外部jar进行打包的两种方式

    项目中除了pom.xml依赖之外,有时还依赖了其他jar包,如图: 依赖的方式如下: 点击Project Structure进行项目设置,在Modules中Dependencies标签中点击+号 添加 ...

  2. java 打包的两种方式

    一.利用java 自带的util.zip 将多个文件打包在一个文件夹之中 import java.io.*; import java.util.ArrayList; import java.util. ...

  3. Android Studio签名打包的两种方式

    http://www.cnblogs.com/gao-chun/p/4891275.html

  4. webpack打包的两种方式

    https://segmentfault.com/a/1190000013647729

  5. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )

    文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...

  6. idea 使用 Docker 打包镜像的两种方式_07

    idea 使用 Docker 打包镜像的两种方式_07 一.方式: 一.idea 的docker 插件 和Dockerfile: 二.pom和Dockerfile结合. 二.详解 第一种: 1.第一步 ...

  7. PyCharm创建app的两种方式

    PyCharm创建app的两种方式 方式1 1-1 在terminal中敲如下代码 python manage.py startapp xxx 1-2 在settings.py中INSTALLED_A ...

  8. android打开另外的app两种方式,内置到自己本身的app,重新打开app,

    android打开另外的app两种方式,内置到自己本身的app空间,重新打开app空间, 目录 1.内置到自己本身的app空间, 2.重新打开app空间, 1.内置到自己本身的app空间, 被打开的a ...

  9. 【application Extension 之TodayExtension】扩展与宿主App之间共享数据有两种方式

    文章目录 前言 I .点击跳转到APP II.扩展与宿主App之间共享数据有两种方式: 2.1.通过NSUserDefaults 2.2. 通过一个扩展与App都可以访问的共享容器,来存放文件,数据( ...

最新文章

  1. Linux学习笔记13:把网卡名字都修改成eth*
  2. HTTP与HTTPS的区别[转载]
  3. c语言编程统计单词的个数,使用c语言如何统计单词个数
  4. “你都硕士博士了,竟然还不如我!”
  5. Android--使用剪切板在Activity中传值
  6. linux wifi开发书籍,Android WIFI开发介绍.pdf
  7. 大白话讲解如何给github上项目贡献代码
  8. Linux 下常用 ftp 命令
  9. PHP线程安全和非线程安全有什么区别
  10. WINDOWS下,找包含特殊字串的文件的解决办法
  11. JS 简易控制台插件 [供 博客, 论坛 运行js用]
  12. 浏览器配置异常_IE浏览器异常 修复/重置ie设置方法
  13. Retinex理论,单尺度Retinex、多尺度Retinex(MSR)、带颜色恢复的多尺度 Retinex(MSRCR)原理
  14. 【MySQL】黑马教程MySQL数据库 MySQL基础(二)
  15. win7桌面背景_解决WIN7桌面背景无法更改的问题
  16. 华为 15 到 18 级的研发族社招工作岗位内推
  17. 计算机的录像功能在哪里找,电脑录像功能在哪
  18. android日期分组相册,按时间分类的自定义相册
  19. 网页优化(布局优化、图片优化)
  20. 考研政治---马克思主义基本原理概论---唯物史观

热门文章

  1. The Elements of Style 4ed ---英文写作指南(三)
  2. python爬取百度贴吧指定内容
  3. 2022年京东年货节时间表和年货节活动攻略
  4. java byte转int原理_java中int与byte数组互转代码详细分析
  5. Smark.Data
  6. 【读书笔记】工作技巧-科学笔记,如何有效阅读一本书:超实用笔记读书法(日本.奥野宣之)_20190608
  7. 大龄程序员的一次考研之旅
  8. [转]恢复分区无法删除怎么解决?
  9. hive获取今天/明天/昨天时间
  10. 【离散数学】映射的有关概念