2023年11月28日发(作者:)

H5⽹页应⽤打包安卓App(全⽹最详细教程)

如果你是⼀名 Web开发者,想把⾃⼰开发的页⾯打包编译成 App在⼿机运⾏,但是你对 Java Android ⼀窍不通,

那么本⽂章将指引你如何将Web项⽬⾛向安卓平台,去除任何浮躁,跟着本⽂操作起来吧

1.参考⽂档

2.材料准备

(⽹盘提取码:neqx,最新请访问:

3.打包Web项⽬

项⽬打包

Vue 或者 React 使⽤的webpack把代码项⽬进⾏打包

如果没玩过 MVVM框架随便什么hello worldhtml项⽬也可以,不⼀定⾮要打包只要⽹页能打开就⾏,

这⾥以Vue+Webpack为例:打包之后⽣成 dist⽬录

我这⾥的项⽬浏览器打开之后是移动端的html5页⾯,如下图:

注意这⾥只是页⾯,不是APP,移动端页⾯,接下来的任务就是要把这个html开发的页⾯打包成安卓App

HbuilderX打包

打包好之后,打开 HbuilderX, 创建5+App项⽬

创建后,将左侧默认⽂件除了 manifest其他都删掉,然后把刚刚打包好的 (我的是 build)放到项⽬⽬录下

st配置

点击 进⾏配置

Appid

Appid需要去Dcloud申请⼀下,注册⼀个账号就⾏,申请地址如下,免费的

应⽤是否全屏

这⾥的全屏是类似玩王者荣耀那样,直接占据整个屏幕,电源时间状态栏都没有的那种,这⾥我不勾选,

接下来配置沉浸式体验,就是顶部时间电源状态栏弄成透明的那种,看起来会⽐较舒服

图标配置

图标配置可以⾃动⽣成,也可以先不⽣成,后⾯我们可以⽤IDE创建⾃定义图标

启动配置

配置如下图

模块配置

我们这⾥简单点,全部模块都不⽤,下来⼤家可以⾃⼰尝试勾选玩⼀下

权限配置

按照默认的选项来即可

App其他设置

按照默认来

源码视图这⾥添加⼀个沉浸式体验全屏

5.在线云打包和离线打包

这⾥我们⾸先体验⼀下云打包App,选择云打包

配置参考如下图,取消⼴告,勾选公测证书

然后代码会上传到云进⾏打包,等待⼀会会跳出下载App地址

下载apk传到⼿机安装App就可以在⼿机上以App的⽅式运⾏我们写的web界⾯了

虽然在线打包已经满⾜了我们将web应⽤搬运到安卓的需求,但是这⾥是需要上传代码,复杂⼀点的功能还要实名认证

另外每次云打包都要等待⼀段时间后,才会返回只能下载5次的链接,⾮常不⽅便我们进⾏开发调试,

所以下⾯演⽰如何使⽤ Android Studio ⾃⾏离线打包。

⾸先我们在 HbuilderX 上把我们的代码打包成 App需要的src源码资源

控制台会输出打包后资源的⽬录,后续的步骤会⽤到,这⾥先放着

6.安装SDK

打开下载好的 Andriod studio,这⾥不⽤另外安装java环境,Android Studio⾃带jdk

这⾥勾选即可

选择安装路径

安装好后打开,选择不导⼊

这⾥点击 cancel

此处选择⾃定义

选择主题

勾选AVD 以及选择SDK安装位置

后⾯⼀直点nextfinish,点击 SDK Manager

选择 22版本,点击 apply ok

回到刚刚的界⾯新建项⽬,选择空项⽬

下图这⾥

1. Package Name包名⾃⼰命名,⼀般都是颠倒域名作为,此处包名可以随便起

2. Language选择Java

3. Minimum API level最⼩⽀持的API我选的是20,下⾯说明94%的⼿机都⽀持这个API

4. 其他默认点击Finish

7.安装AVD

点击顶部⼯具栏右侧⼿机图标,如下图,创建AVD虚拟⼿机,也就是⼿机模拟器

点击创建AVD

这⾥屏幕尺⼨可以随便选,也可以⾃定义

模拟器安卓系统我选的是pie,可以点击download下载或直接点下⼀步也会下载

下载好后,这⾥是默认

最后点击Finish完成,然后点击下图得位置,可以尝试运⾏⼀下刚创建的空项⽬app

点击⼯具栏⼿机运⾏按钮,顺利的话会弹出 Hello world App如下所⽰

我们可以看到上图蓝⾊框框有报错信息,这个应该是声⾳⽅⾯的报错,不影响我们使⽤,直接⽆视

如果这⾥运⾏不起来,可以参考⽂档底下的踩坑问题解决⽅案中是否有你遇到的问题

8.初始化项⽬

1. 将本⽂前⾯准备材料⾥的SDK下载后的⽬录 Android-SDK@3.0.7.80630_20210123SDKlibs 下找到这两

个⽂件

1.

2. android-gif-drawable-release@

2. 然后再 Android-SDK@3.0.7.80630_20210123SDKassetsdata 下复制下⾯三个⽂件,为⽅便操作和上⾯

两个⽂件创建⼀个新的⽬录放在⼀起

1. dcloud_

2. dcloud_

3. dcloud_

3. IDE的⽂件⽬录试图默认是 Android视图 切换成 Project试图

4. 然后将刚刚复制的两个sdk⽂件粘贴到 下⾯

app/libs

5. 编辑 app/,引⼊lib⽂件

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

implementation ':glide:4.9.0' // 基座依赖

implementation 't:support-v4:28.0.0'

implementation 'a:fastjson:d'

添加代码如下图所⽰,第⼀⾏ exclude可改可不改

接着 app/ 顶部,

值改成28

compileSdkVersiontargetSdkVersion

改成 22

minSdkVersion

applicationId为创建时的包名,compileSdkVersion为编译版本,

minSdkVersion为兼容最⼩的版本号,targetSdkVersion为⽬标版本,

有兴趣的可以百度⼀下三者之间的区别和联系。注意,

官⽅⽂档中标注“App离线SDK minSdkVersion最低⽀持19,⼩于19在部分4.4以下机型上将⽆法正常使⽤。

versionCode需要设定⼀个数值,⼀般为1

每次更新版本时versionCode的值都要⽐前⼀个设置的值⼤,

否则⽆法正常安装,versionName⼀般填写主版本号次版本号和修正号,

如图中的“1.0”为最初版本号,其余的可以⾃⾏查阅。

修改后点击右上⾓ 进⾏同步

sync now

顺利的话这⾥应该可以同步成功

6. app/src/main ⽬录下创建 assets/data 两层⽬录,把刚刚准备的xmlhtml复制到新⽬录下

7. app/src/main/assets ⽬录下创建 apps ⽬录,把第5步打包的离线资源放⼊底下

注意,复制离线打包资源时,如下图中在上上级resources位置中,整个⽬录⼀起复制过去

复制后,如下图所⽰IDE会⾃动折叠⽬录变成⼀个域名

9.编译配置

app/src/main/res/values 下打开

这⾥的应⽤名称,与刚刚引⼊本地打包资源的⾥的⽂件进⾏⽐较

我这⾥两图⼤⼩写不⼀致,将 改成⼩写,确保两个⽂件名称⼀致

app/src/main/assets/data 下编辑 dcloud_ ,确保xmlappid appid⼀致

我这⾥对⽐⼀致⽆需更改,如果不⼀样的话,以中的appid为准

app/src/main 下编辑 删除代码⽚段

MainActivity

然后添加以下代码到刚刚删除的位置

android:name="aEntry"

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" >

android:name="aEntryActivity"

android:launchMode="singleTask"

android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"

android:hardwareAccelerated="true"

android:permission="missionsEditor"

android:screenOrientation="user"

android:theme="@style/DCloudTheme"

android:windowSoftInputMode="adjustResize">

11. 模拟器运⾏App

到这⾥基本完成了,可以尝试模拟器上运⾏app

如果顺利的话,此时弹出⼿机⾃动安装app后,就可以看到我们的web项⽬以app⽅式运⾏了

当然如果不顺利的话,可以参考下⾯的问答,或给博主留⾔

12. 编译⽣成 apk

在菜单栏中选择Build,点击Generate Signed Bundle /项,进⼊打包页⾯。

选择apk,点击next

打包需要签名认证,点击创建。

如图,第⼀⾏创建⾃定义jks⽂件,并确定路径我把它设置为ips(这种其实是不符合jks格式的,

然后是设置密码

最后⽣成时可能会有警告,点击OK即可,⼀般为--*jks,平时还是要多注意规范)。

跳转到签名界⾯,因为都帮我们填好了,所以点击Next即可。

选择release完成

直接下图编译即可

完成后显⽰apk路径

13.遇到的问题及解决⽅案 Q&A

1. CPU没有开启虚拟化技术导致⽆法运⾏模拟器

在任务管理器中可以查看CPU是否开启虚拟化技术

如果没有开启,需要在BIOS中开启,这个可以百度⼀下,不同电脑启动虚拟化⽅式不⼀样

2. CPUAMD的,运⾏⼿机模拟器时弹框推荐安装 HAXM ⼀款Intel硬件加速器

点击同意下载⼜⽆法安装,如下图

点击取消直接没反应,运⾏不了模拟器了

解决步骤,每⼀步都是必要步骤:

1. 使⽤ AMD替代的加速器,取消 HAXM ,点击下图⼯具栏这个管理包

2. 确保虚拟化技术有打开

3. 在启⽤或关闭windows功能⾥,取消勾选红框这两项⽬

4. 进⼊⾃⼰SDK⽬录下的extrasgoogleAndroid_Emulator_Hypervisor_Driver的⽂件夹下,运⾏silent_

如果执⾏结果返回是:STATE: 4 RUNNING,说明安装成功。就可以正常使⽤AS的模拟器了。

感谢观看,编写不易转载请指明出处:

/demonxian3/p/