基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)
文章背景:
dcloud官网给出的打包步骤对于有一定安卓打包基础的同学来说比较容易掌握,但是对于webapp小白来讲有的地方可能没有说的太具体。下面我给大家介绍的详细一点,保证大家按照步骤就能学会打包。
文章正文:
在正式打包之前,你要先下载HBuilder官方最新版的5+SDK,这里是下载传送门5+SDK下载地址,这两个下载哪一个都可以。

①下载和安装Android Studio,下载和安装方法就和安装普通软件一样,一直安装就行了。Android Studio下载地址,链接失效的话,同学们可以自行百度。

②找到并打开你的webapp项目文件夹。


③使用Android Studio创建一个工程,步骤如图



PS:选择空的一个模板


③点击Finish之后,先删除原生工程中Java目录下系统默认创建的源代码(绿色框中的文件全部删掉,你删掉过后可能会发现好像还有文件,不用担心,继续下一步即可)

④找到你之前下载的5+SDK目录,复制SDK->libs->lib.5plus.base-release.aar文件到原生工程工程的app->libs目录下。(如果你的界面没有显示出来libs目录,你可以点击上面的目录层来找到)



⑤打开工程的build.gradle文件

compile(name: 'lib.5plus.base-release', ext: 'aar')
⑥添加aar文件以上代码引用到dependenciesr如下代码

⑦添加aar文件搜索路径添到gradle文件,与dependencies同级, 代码如下
repositories {
flatDir {
dirs 'libs'
}
}

⑧修改工程的targetSdkVersion为21,minifyEnabled设置成false

⑨打开工程的Androidmanifest.xml文件,复制以下内容替换该文件中原有application节点下的内容
<application
android:name="io.dcloud.application.DCloudApplication"
android:allowClearUserData="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
>
<activity
android: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>
</application>

⑩在app->src->res->drable目录下放应用的图标文件文件命名为icon.png

⑪复制SDK->assets->data目录和目录下的文件到工程的src->main->assets目录下,新创建的工程默认没有assets目录,可在与java同级目录下创建assets目录



⑫Assets目录下创建apps目录。

⑬apps目录下创建[appid]目录(appid为应用资源manifest.json文件中id节点的值)

⑭[appid]目录下创建www目录,复制应用资源到www目录下。www目录下是你的所有的webapp的源码,三个层级结构不要搞混了也不能搞乱了。(这里要注意的是这是三个文件夹目录结构,不是把他们放在一起的命名,一定不能写错了呢)

⑮修改assets->data->dcloud_control.xml文件的apps->app->appid属性的值改为当前应用manifest.json文件id节点的值

官网的文档到这里就结束了,可能有过打包经验的同学后面就都知道怎么做了,但是小白可能不知道具体打包该怎么操作,如果你不会打包,请继续看我的教程。
1.首先你找到自己的这个安卓原生工程目录,找到里面的outputs文件夹

2.点击build,在点击build APK(s)。
3.你可以在右下角看到打包的进度。

4.当左下角提示你success的时候就代表你打包成功。

5.在回到刚才的outputs文件夹中就发现多了一个apk文件夹,里面还有一层debug文件夹,这个大家先不用管,在往里面就是我们要的打包之后的apk文件啦。


6.把这个apk文件拖到我们的安卓模拟器中就能正常安装啦,当然你也可以用QQ把这个APK文件发送到手机上,也能安装正常使用呢。

有问题欢迎留言,如果你觉得这个文章对你有帮助,就请点个赞吧!
基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)的更多相关文章
- 基于mui的H5套壳APP开发web框架分享
前言 创建一个main主页面,只有主页面有头部.尾部,中间内容嵌入iframe内容子页面,如果在当前页面进行跳转操作,也是在iframe中进行跳转,而如果点击尾部按钮切换模块.页面,那就切换ifram ...
- 使用新版本5+SDK创建最简Android原生工程(Android studio)http://ask.dcloud.net.cn/article/13232
1 使用Android Studio创建一个工程 2 删除原生工程中Java目录下系统默认创建的源代码 3 复制SDK->libs->lib.5plus.base-release.aar文 ...
- 基于MUI框架+HTML5PLUS 开发 iOS和Android 应用程序(APP)
目录 事前准备 创建项目 利用MUI写一个简单的页面 关于文件打包 事前准备 # 软件 HBuilder X Web开发IDE 下载地址:https://www.dcloud.io/hbuilderx ...
- 利用HBuilder开发基于MUI的H5+ app中使用百度地图定位功能
定位功能有两种方法: 首先要初始化内置地图: var map = new plus.maps.Map("map"); 这里黄色的map是html里面的id: <div id= ...
- 关于ant引用android第三方工程打包的问题, invalid resource directory name: F:\workspace\Zlib\bin\res/crunch
转载自 https://zhidao.baidu.com/question/200134399463655885.html invalid resource directory name: F:\wo ...
- uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式
前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...
- 《ArcGIS Runtime SDK for Android开发笔记》
开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...
- 如何基于 ZEGO SDK 实现 Android 一对一音视频聊天应用
疫情期间,很多线下活动转为线上举行,实时音视频的需求剧增,在视频会议,在线教育,电商购物等众多场景成了"生活新常态". 本文将教你如何通过即构ZEGO sdk在Android端搭建 ...
随机推荐
- SpringBoot 简易实现热搜邮件推送,妈妈再也不用担心我不了解国家大事了
1.前言 上班的时候,无聊的时候,偶尔跑去百度看下热搜,所以就萌生出这种想法,通过邮件推送的方式实现效果,首先找到百度热搜的页面 热搜,话不多说,直接开干. 2.环境准备 因为是个SpringBoot ...
- efcore分表分库原理解析
ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本,支持efcore2+的所有数据 ...
- HttpClient遭遇Connection Reset异常,如何正确配置?
最近工作中使用的HttpClient工具遇到的Connection Reset异常.在客户端和服务端配置不对的时候容易出现问题,下面就是记录一下如何解决这个问题的过程. 出现Connection Re ...
- jmx_prometheus_javaagent+prometheus+alertmanager+grafana完成容器化java监控告警(二)
一.拓扑图 二.收集数据 2.1前期准备 创建共享目录,即为了各节点都创建该目录,有两个文件,做数据共享 /home/target/prom-jvm-demo 1.下载文件 jmx_prometheu ...
- 阿里云函数计算发布新功能,支持容器镜像,加速应用 Serverless 进程
我们先通过一段视频来看看函数计算和容器相结合后,在视频转码场景下的优秀表现.点击观看视频 >> FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维. ...
- The type name or alias SqlServer could not be resolved.Please check your configuration
The type name or alias SqlServer could not be resolved.Please check your configuration file.... 检查一下 ...
- vue 动态菜单以及动态路由加载、刷新采的坑
需求: 从接口动态获取子菜单数据 动态加载 要求只有展开才加载子菜单数据 支持刷新,页面显示正常 思路: 一开始比较乱,思路很多.想了很多 首先路由和菜单共用一个全局route, 数据的传递也是通过s ...
- 解决npm : 无法加载文件 D:\Code\renren-fast-vue\node_modules\.bin\npm.ps1,因为在......
解决这个问题: 看看错误信息: npm : 无法加载文件 D:\DevPath\nodejs\npm.ps1,因为在此系统上禁止运行脚本.有关详细信息,请参阅 https:/go.microsoft. ...
- 02Prism WPF 入门实战 - 建项
1.概要 Prism介绍 Github: https://github.com/PrismLibrary/Prism 开发文档:https://prismlibrary.com/docs/ Prism ...
- 【Java技术专题】「性能优化系列」针对Java对象压缩及序列化技术的探索之路
序列化和反序列化 序列化就是指把对象转换为字节码: 对象传递和保存时,保证对象的完整性和可传递性.把对象转换为有字节码,以便在网络上传输或保存在本地文件中: 反序列化就是指把字节码恢复为对象: 根据字 ...