| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 移动开发 -> AndroidStudio离线打包muiH5+app -> 正文阅读 |
|
|
[移动开发]AndroidStudio离线打包muiH5+app |
|
1.安装Androidstudio 2.安装相关版本sdk 3.下载dcloud官方提供的sdk并解压. 4.androidstudio中导入HBuilder-Integrate-AS作为参考. 5.在andrioidstudio新建一个空项目,项目路径要建好,在后面配置中会使用,例如:com.zhuye.h5bank 6.在libs中导入所需jar包,可以从导入的demo中复制 android-gif-drawable-release@1.2.23.aar fastjson-1.2.78.jar lib.5plus.base-release.aar oaid_sdk_1.0.25.aar 7.在项目中main目录下创建apps文件夹: H5Bank\app\src\main\assets\apps\项目appid(可以从dcloud官网控制台获取或mui项目的manifest.json中获取)\www\ (把mui项目粘进来除了unpackage目录) 8.在项目中main目录下创建data文件夹: H5Bank\app\src\main\assets\data 并放入文件(可以从导入的demo中复制) dcloud_control.xml dcloud_error.html dcloud_properties.xml dcloud_control.xml中增加如下代码,appid根据实际项目获取 <apps> ? <app appid="H50F96945" appver=""/> </apps> 9.AndroidManifest.xml 配置权限 10.AndroidManifest.xml配置dcloud_appkey,该key需要去官网控制台申请. key生成参考: Android平台签名证书(.keystore)生成指南 - DCloud问答 key申请参考: 生成命令: keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore 查看命令: keytool -list -v -keystore test.keystore key存储位置: C:\Program Files\Java\jre1.8.0_65\bin key名称尽量与项目名称保持一致. 生成的key文件放到app目录下 在AndroidManifest.xml中application标签内增加key配置到码如下: <provider
? android:name="io.dcloud.common.util.DCloud_FileProvider"
? android:authorities="{applicationId}.FileProvider"
? android:exported="false"
? android:grantUriPermissions="true">
? <meta-data
? ? ? android:name="android.support.FILE_PROVIDER_PATHS"
? ? ? android:resource="@xml/dcloud_file_provider" />
</provider>
<meta-data
? android:name="dcloud_appkey"
? android:value="26c5e563e23c16c863db60c001658b9b" />
name:dcloud_appkey保持不变value从控制台生成后粘贴 11.签名信息配置 在build.gradle中配置签名信息如下: signingConfigs {
? config {
? ? ? keyAlias 'testalias'
? ? ? keyPassword '666666'
? ? ? storeFile file('hello_login.keystore')
? ? ? storePassword '666666'
? ? ? v1SigningEnabled true
? ? ? v2SigningEnabled true
? }
}
?
buildTypes {
? debug {
? ? ? signingConfig signingConfigs.config
? ? ? minifyEnabled false
? ? ? proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
? }
? release {
? ? ? signingConfig signingConfigs.config
? ? ? minifyEnabled false
? ? ? proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
? }
}
12.导入的jar包如果读取不到在build.gradle中导入如下代码 dependencies {
? implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
? implementation 'androidx.appcompat:appcompat:1.1.0'
? implementation 'com.google.android.material:material:1.1.0'
? implementation 'com.android.support:support-v4:30.4.1'
? testImplementation 'junit:junit:4.+'
? androidTestImplementation 'androidx.test.ext:junit:1.1.1'
? androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
? compile 'com.nineoldandroids:library:2.4.0'
? compile 'com.github.bumptech.glide:glide:3.7.0'
}
13.build.gradle代码整体参考: plugins {
? id 'com.android.application'
}
?
android {
? compileSdkVersion 30
? buildToolsVersion "30.0.2"
?
? defaultConfig {
? ? ? applicationId "com.zhuye.h5bank"
? ? ? minSdkVersion 21
? ? ? targetSdkVersion 30
? ? ? versionCode 1
? ? ? versionName "1.0"
?
? ? ? testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
? }
?
?
? signingConfigs {
? ? ? config {
? ? ? ? ? keyAlias 'testalias'
? ? ? ? ? keyPassword '666666'
? ? ? ? ? storeFile file('hello_login.keystore')
? ? ? ? ? storePassword '666666'
? ? ? ? ? v1SigningEnabled true
? ? ? ? ? v2SigningEnabled true
? ? ? }
? }
?
? buildTypes {
? ? ? debug {
? ? ? ? ? signingConfig signingConfigs.config
? ? ? ? ? minifyEnabled false
? ? ? ? ? proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
? ? ? }
? ? ? release {
? ? ? ? ? signingConfig signingConfigs.config
? ? ? ? ? minifyEnabled false
? ? ? ? ? proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
? ? ? }
? }
? compileOptions {
? ? ? sourceCompatibility JavaVersion.VERSION_1_8
? ? ? targetCompatibility JavaVersion.VERSION_1_8
? }
}
repositories {
? flatDir {
? ? ? dirs 'libs'
? }
}
dependencies {
? implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
? implementation 'androidx.appcompat:appcompat:1.1.0'
? implementation 'com.google.android.material:material:1.1.0'
? implementation 'com.android.support:support-v4:30.4.1'
? testImplementation 'junit:junit:4.+'
? androidTestImplementation 'androidx.test.ext:junit:1.1.1'
? androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
? compile 'com.nineoldandroids:library:2.4.0'
? compile 'com.github.bumptech.glide:glide:3.7.0'
}
14.AndroidManifest.xml整体代码参考: <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
? package="com.zhuye.h5bank"
? xmlns:tools="http://schemas.android.com/tools"
? >
?
? <application
? ? ? android:name="io.dcloud.application.DCloudApplication"
? ? ? android:allowClearUserData="true"
? ? ? android:label="@string/app_name"
? ? ? android:largeHeap="true" >
? ? ? <activity
? ? ? ? ? android:name="io.dcloud.PandoraEntry"
? ? ? ? ? android:configChanges="orientation|keyboardHidden|keyboard|navigation"
? ? ? ? ? android:hardwareAccelerated="true"
? ? ? ? ? android:label="@string/app_name"
? ? ? ? ? android:launchMode="singleTask"
? ? ? ? ? android:screenOrientation="user"
? ? ? ? ? android:theme="@style/TranslucentTheme"
? ? ? ? ? android:windowSoftInputMode="adjustResize" >
? ? ? ? ? <intent-filter>
? ? ? ? ? ? ? <action android:name="android.intent.action.MAIN" />
?
? ? ? ? ? ? ? <category android:name="android.intent.category.LAUNCHER" />
? ? ? ? ? </intent-filter>
? ? ? </activity>
? ? ? <activity
? ? ? ? ? android:name="io.dcloud.PandoraEntryActivity"
? ? ? ? ? android:configChanges="orientation|keyboardHidden|screenSize|keyboard|navigation|mcc|mnc|fontScale"
? ? ? ? ? android:hardwareAccelerated="true"
? ? ? ? ? android:label="5+Debug"
? ? ? ? ? android:launchMode="singleTask"
? ? ? ? ? android:screenOrientation="user"
? ? ? ? ? android:theme="@style/DCloudTheme"
? ? ? ? ? android:windowSoftInputMode="adjustResize" >
? ? ? </activity>
? ? ? <service
? ? ? ? ? android:name="io.dcloud.common.adapter.io.MiniServerService"
? ? ? ? ? android:exported="true" />
? ? ? <provider
? ? ? ? ? android:name="io.dcloud.common.util.DCloud_FileProvider"
? ? ? ? ? android:authorities="{applicationId}.FileProvider"
? ? ? ? ? android:exported="false"
? ? ? ? ? android:grantUriPermissions="true">
? ? ? ? ? <meta-data
? ? ? ? ? ? ? android:name="android.support.FILE_PROVIDER_PATHS"
? ? ? ? ? ? ? android:resource="@xml/dcloud_file_provider" />
? ? ? </provider>
? ? ? <meta-data
? ? ? ? ? android:name="dcloud_appkey"
? ? ? ? ? android:value="26c5e563e23c16c863db60c001658b9b" />
? </application>
?
? <supports-screens
? ? ? android:anyDensity="true"
? ? ? android:largeScreens="true"
? ? ? android:normalScreens="true"
? ? ? android:resizeable="true"
? ? ? android:smallScreens="true" />
? <uses-permission android:name="android.permission.INTERNET" />
? <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
? <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
? <uses-feature android:name="android.hardware.camera"/>",
? <uses-feature android:name="android.hardware.camera.autofocus"/>",
? <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>",
? <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>",
? <uses-permission android:name="android.permission.BLUETOOTH"/>",
? <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>",
? <uses-permission android:name="android.permission.CAMERA"/>",
? <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>",
? <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>",
? <uses-permission android:name="android.permission.INTERNET"/>",
? <uses-permission android:name="android.permission.READ_PHONE_STATE"/>",
? <uses-permission android:name="android.permission.VIBRATE"/>",
? <uses-permission android:name="android.permission.BLUETOOTH"/>",
? <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>"
</manifest>
|
|
|
| 移动开发 最新文章 |
| Vue3装载axios和element-ui |
| android adb cmd |
| 【xcode】Xcode常用快捷键与技巧 |
| Android开发中的线程池使用 |
| Java 和 Android 的 Base64 |
| Android 测试文字编码格式 |
| 微信小程序支付 |
| 安卓权限记录 |
| 知乎之自动养号 |
| 【Android Jetpack】DataStore |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/28 22:19:39- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |