开通VIP,畅享免费电子书等14项超值服
首页
好书
留言交流
下载APP
联系客服
2022.07.03四川
如果你是一名Web开发者,想把自己开发的页面打包编译成App在手机运行,但是你对Java和Android一窍不通,
将Vue或者React使用的webpack把代码项目进行打包如果没玩过MVVM框架随便什么helloworld的html项目也可以,不一定非要打包只要网页能打开就行,这里以Vue+Webpack为例:打包之后生成index.html和dist目录
我这里的项目浏览器打开之后是移动端的html5页面,如下图:
注意这里只是页面,不是APP,移动端页面,接下来的任务就是要把这个html开发的页面打包成安卓App
打包好之后,打开HbuilderX,创建5+App项目
创建后,将左侧默认文件除了manifest其他都删掉,然后把刚刚打包好的(我的是index.html和build)放到项目目录下
点击manifest.json进行配置
Appid需要去Dcloud申请一下,注册一个账号就行,申请地址如下,免费的
图标配置可以自动生成,也可以先不生成,后面我们可以用IDE创建自定义图标
配置如下图
我们这里简单点,全部模块都不用,下来大家可以自己尝试勾选玩一下
按照默认的选项来即可
按照默认来
打开下载好的Andriodstudio,这里不用另外安装java环境,AndroidStudio自带jdk的
下图这里
点击顶部工具栏右侧手机图标,如下图,创建AVD虚拟手机,也就是手机模拟器
点击创建AVD
这里屏幕尺寸可以随便选,也可以自定义
模拟器安卓系统我选的是pie,可以点击download下载或直接点下一步也会下载
下载好后,这里是默认
最后点击Finish完成,然后点击下图得位置,可以尝试运行一下刚创建的空项目app
点击工具栏手机运行按钮,顺利的话会弹出Helloworld的App如下所示
我们可以看到上图蓝色框框有报错信息,这个应该是声音方面的报错,不影响我们使用,直接无视
如果这里运行不起来,可以参考文档底下的踩坑问题解决方案中是否有你遇到的问题
接着app/build.gradle顶部,
将compileSdkVersion和targetSdkVersion值改成28,将minSdkVersion改成22
applicationId为创建时的包名,compileSdkVersion为编译版本,minSdkVersion为兼容最小的版本号,targetSdkVersion为目标版本,有兴趣的可以百度一下三者之间的区别和联系。注意,官方文档中标注“App离线SDKminSdkVersion最低支持19,小于19在部分4.4以下机型上将无法正常使用。”versionCode需要设定一个数值,一般为1,每次更新版本时versionCode的值都要比前一个设置的值大,否则无法正常安装,versionName一般填写主版本号次版本号和修正号,如图中的“1.0”为最初版本号,其余的可以自行查阅。
修改后点击右上角syncnow进行同步
注意,复制离线打包资源时,如下图中在上上级resources位置中,整个目录一起复制过去
复制后,如下图所示IDE会自动折叠目录变成一个域名
这里的应用名称,与刚刚引入本地打包资源的里的manifest.json文件进行比较
在app/src/main/assets/data下编辑dcloud_control.xml,确保xml的appid与manifest.json的appid一致
我这里对比一致无需更改,如果不一样的话,以manfest.json中的appid为准
然后添加以下代码到刚刚删除的位置
然后将provider代码段中的${apk.applicationId}替换成包名,如果不知道包名是什么,可以看离线资源复制之后自动折叠的域名,如下图位置
如下右键新增资源图标
这里可以根据自己需要设置图标
到这里基本完成了,可以尝试模拟器上运行app
如果顺利的话,此时弹出手机自动安装app后,就可以看到我们的web项目以app方式运行了
当然如果不顺利的话,可以参考下面的问答,或给博主留言
在菜单栏中选择Build,点击GenerateSignedBundle/APK...项,进入打包页面。
在任务管理器中可以查看CPU是否开启虚拟化技术
如果没有开启,需要在BIOS中开启,这个可以百度一下,不同电脑启动虚拟化方式不一样
点击取消直接没反应,运行不了模拟器了
解决步骤,每一步都是必要步骤:
进入自己SDK目录下的extras\google\Android_Emulator_Hypervisor_Driver的文件夹下,运行silent_install.bat
如果执行结果返回是:STATE:4RUNNING,说明安装成功。就可以正常使用AS的模拟器了。