| |
|
开发:
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:07:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |