本地打包MUI、HBuilderX、H5+开发App(Android)

前端开发


浏览:1152 次

本文基于MUI、HBuilderX和H5+开发的APP的本地包装,不适用于uniapp。

这里是相同的iOS:

为什么选择本地包装

使用HBuilderX开发项目后,可以打包并发布它。一般可以直接选择【app云打包】直接在线打包,然后下载安装包,简单方便。

通常,这种方法可以满足大多数需求,但也存在几个问题:

1.项目代码提交到官方后台(官方保证不会保留任何用户代码,我觉得没有问题)。

2.云打包有文件大小限制,超过40M的文件需要提交打包申请,然后付款。对于我们来说,测试一个问题,一天要打包很多次,成本很高。

我们的APP包非常大。它不适合云打包。所以你必须在本地打包。

工具准备

开发工具:HBuilderX(版本2.4.6.20191210)

Android打包SDK:Android-SDK@2.4.6.71983_20191211版本应与HBuilderX的版本一致。通常,它应该更新到最新的官方版本。

打包工具:Android Studio 3.5.2

操作步骤

1.Android Studio创建一个项目并删除以下无用文件

1_新项目.png

2.复制SDK->libs->Lib.5plus.base-release。aar文件和其他所需的库文件到本地项目的app->;Libs目录

2_导入sdk.png

3.创建以下目录级别并导入HBuilderx导出的APP资源文件

导入资源目录.png

Appxxxx。ww:xxx是HB中的appid,appid是App资源清单中id节点的值。json文件。必须保持一致,否则APP无法运行。

4.导入数据目录文件并修改控件的dcloud_Apps->。xml文件;app->appid属性的值更改为当前App清单的id节点的值。json文件

导入数据文件.png

5.替换应用于drawable目录的res->Icon文件

修改图标.png

6.修改配置文件

AndroidManifest.xml,

构建梯度,

这一步非常重要。稍有不慎,APP无法运行或闪退,或相关功能不起作用,无法获取相关权限。最终配置如下:;

Android清单.xml

package=“com.gech.app”>

<使用功能android:name=“android.hardware.camera”/>

<使用权限android:name=“android.permission.ACCESS_WIFI_STATE”/>

<使用权限android:name=“android.permission.INTERNET”/>

<使用权限android:name=“android.permission.ACCESS_NETWORK_STATE”/>

<使用权限android:name=“android.permission.REQUEST_INSTALL_PACKAGES”/>

android:name=“io.dcloud.application.DloudApplication”

android:allowClearUserData=“true”

android:icon=“@drawable/icon”

android:label=“@string/app_name”

android:largeHeap=“true”

>

<提供商

android:name=“io.dcloud.common.util.dcloud_FileProvider”

android:authority=“com.genertech.jzapp.dc.fileprovider”

android:exported=“false”

android:grantUriPermissions=“true”>

<元数据

android:name=“android.support.FILE_PROVIDER_PATHS”

android:resource=“@xml/dcloud_file_provider”/>

<活动

android:name=“io.dcloud.PandoraEntryActivity”

android:configChanges=“方向|键盘隐藏|键盘|导航”

android:label=“@string/app_name”

android:launchMode=“singleTask”

android:hardwareAccelerated=“true”

android:theme=“@style/TranslucentTheme”

android:screenOrientation=“用户”

android:windowSoftInputMode=“adjustResize”>

<意图过滤器>