5+App 离线打包指南
简介
https://nativesupport.dcloud.net.cn/AppDocs/README
- App 离线开发工具包,即 App 离线 SDK,是把 App 运行环境(runtime)封装为原生开发调用接口,开发者可以在自己的 Android 及 iOS 原生开发环境配置工程使用,包括 Android 离线开发 SDK 及 iOS 离线开发 SDK
- App 离线 SDK 主要用于
App 本地离线打包
及扩展原生能力
- App 本地离线打包: 对应 HBuilderX 的云端打包功能,
uni-app
、5+ App
等项目发行为原生 App 时,无需将 App 资源及打包要使用的签名证书等提交到云端打包服务器,在开发者本地配置的原生开发环境中生成安装包 apk/ipa - 扩展原生能力: 当 HBuilderX 中提供的能力无法满足 App 功能需求,需要通过使用 Andorid/iOS 原生开发实现时,可使用 App 离线 SDK 开发原生插件来扩展原生能力。
5+原生插件
将不再继续维护,建议开发者升级应用为uni-app
项目并使用uni原生插件
。如需继续使用 5 + 原生插件,请参考以下文档:
- App 本地离线打包: 对应 HBuilderX 的云端打包功能,
Android 平台 5 + 原生插件开发
http://ask.dcloud.net.cn/article/66
打包
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
Android Studio
打开离线打包工程HBuilder-Hello
打开
app/build.gradle
,修改如下 3 项信息1
2
3
4defaultConfig {
applicationId "io.dcloud.HelloH5"
versionCode 1
versionName "1.0"applicationId
为 Android 包名。如果 已经使用 HBuilderX 云打包,则使用云打包的 Android 包名,查看参考下图:versionCode
为应用的版本号(整数值),用于各应用市场的升级判断,建议与 manifest.json 中 version -> code 值一致versionName
为应用的版本名称(字符串),在系统应用管理程序中显示的版本号,建议与 manifest.json 中 version -> name 值一致
AndroidManifest.xml
1
2
3
4<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="io.dcloud.HelloH5">
//package 项目中自定义的包名,在下面引入 activity 时作为其基础路径修改百度地图 ak
1
2
3<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="u1vrG5cDGQLioX9fezNAdGkR"/>Speech(语音识别)-讯飞语音,不要修改「它是和libs目录下的jar包是绑定的」
provider——
${applicationId}
为应用applicationId
1
2
3
4
5
6
7
8
9
10<provider
android:name="io.dcloud.gdt.GdtFileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/gdt_file_path"
tools:replace="android:resource"/>
</provider>
配置应用名称
打开 app->res -> main -> values -> strings.xml 文件,修改 “app_name” 字段值,该值为安装到手机上桌面显示的应用名称,建议与 manifest.json 中 name(基础配置中的应用名称)对应
1
<string name="app_name">智慧执法</string>
配置应用图标和启动界面
drawable 目录
icon.png 为应用的图标
push.png 为推送消息的图标
splash.png 为应用启动页的图标
获取并放置本地打包资源
HBuilderX 导出离线打包资源「发行——原生App-本地打包——生成本地打包App资源」,将导出的资源复制到 assets->apps 下,如下图所示:
修改 dcloud_control.xml 文件
确保 dcloud_control.xml 中的 appid 与 manifest.json 中的 id 与文件夹名一致
Android Studio 打包
签名证书不要随意更换,否则会导致用户升级失败
若之前云打包使用的是 DCloud 默认证书,为保证正常升级,依然继续下载 DCloud 证书使用。证书地址
若之前使用自有证书,则同样使用该自有证书
生成 apk,Build Variants 建议选 release(正式发行尽量杜绝选择 debug),Signature Versions 建议都选,点击 Finish
升级
普通版本升级
HBuilderX 中修改项目
manifest.json
应用版本名称和应用版本号,导出升级包 wgt ,放到服务器上app
目录并修改version.json
版本信息和升级包文件名版本升级并提供离线
apk
包「参考打包步骤 1、6、8」- 修改
Android
离线打包项目app/build.gradle
中版本名和版本号 - 从 HBuilderX 导出离线打包资源,复制到 Android 项目
assets->apps
- Android Studio 打包,apk 文件放到 服务器上
app
目录,修改apkdownload.jsp
中apk
名称
- 修改