基于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端搭建 ...
随机推荐
- php flush() 页面缓冲及时输出 每隔一秒输出页面输出
<?php //方案一 ob_end_clean(); echo str_pad('', 1024); // 设置足够大,大过php.ini的output_buffering设置值 for ($ ...
- farOs 介绍
nGame nGame 一款文字游戏服务端框架;用于快速构建:自由探索.武侠.修真.模拟,回合制,剧本杀.动态语言小说.等服务器 如果你有期望实现的功能请加Q群 ngame计划 完善框架功能 farO ...
- 为什么'\x1B'.length===1?\x与\u知识延伸
背景 先讲一下背景,再说原因 大多数库都会在日志中使用chalk库为console的内容进行上色 被chalk处理后,其原本的内容会被'\x1B...'所包裹 console.log(chalk.bl ...
- v-for为什么最好(一定)要加key
v-for 指令基于一个数组来渲染一个列表,如下 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> ...
- 2021-06-27 & 2021-06-28 集训题解
西克 题目传送门 Description Solution 跟 2021年省选A卷D2T1 一模一样,懒得讲了 不过这个题似乎有点卡空间,所以卡不过去 Code #include <bits/s ...
- ls命令剖析
目录 ls命令剖析 资料翻译 SYNOPSIS 使用方式 DESCRIPTION 说明 参数的说明 -l 参数字符的解释 文件权限的解释 FILES 文件夹 实战演练 ls 命令 ls -l 命令 l ...
- CompleteFuture实现简单的任务编排实践
CompleteFuture实现简单的任务编排实践 一:前言 CompleteFuture是java8 新提供的API,是对函数式编程思想的体现,提供了很多的对于函数式编程支持.不止有同步处理功能 ...
- 【UE4 C++ 基础知识】<13> 多线程——TaskGraph
概述 TaskGraph 系统是UE4一套抽象的异步任务处理系统 TaskGraph 可以看作一种"基于任务的并行编程"设计思想下的实现 通过TaskGraph ,可以创建任意多线 ...
- 第二次Alpha Scrum Meeting
本次会议为Alpha阶段第二次Scrum Meeting会议 会议概要 会议时间:2021年4月24日 会议地点:线上会议 会议时长:30min 会议内容简介:本次会议主要由每个人展示自己目前完成的工 ...
- [no code][scrum meeting] Alpha 2
项目 内容 会议时间 2020-04-07 会议主题 功能规格说明书review 会议时长 30min 参会人员 OCR组(肖思炀,赵涛)和产品经理 $( "#cnblogs_post_bo ...