命令行打开定位到.jks文件的位置进行以下操作
命令行输入:
keytool -list -v -keystore /Users/apple/Desktop/wangyz/wangyz.jks
SHA1为我们需要的
DCLOUD官网配置离线打包所需要的keyhttps://dev.dcloud.net.cn
HBuilderX“生成本地打包APP资源”
点击就会在控制台生成相应的资源包,根据控制台返回的路径找到相应的文件
AndroidStudio离线打包配置
基础库配置
App离线SDK下载:https://nativesupport.dcloud.net.cn/AppDocs/download/android
最新配置方案,可以参考官文进行配置:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
在下载好的离线SDK中找到以下文件,
将lib.5plus.base-release.aar、[email protected]、uniapp-v8-release.aar和oaid_sdk_1.0.25.aar拷贝到libs目录下
build. gradle文件下添加如下:
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation "com.facebook.fresco:animated-gif:1.13.0"
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
signingConfigs {
config {
keyAlias 'key0'
keyPassword '123456'
storeFile file('wangyz.jks')
storePassword '123456'
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
debug {
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
uni-app配置时需要在build.gradle中添加aaptOptions配置
aaptOptions {
additionalParameters '--auto-add-overlay'
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
build. gradle完整代码:
plugins {
id 'com.android.application'
}
android {
compileSdk 30
defaultConfig {
applicationId "com.zhihuixian.app"
minSdk 21
targetSdk 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
config {
keyAlias 'key0'
keyPassword '123456'
storeFile file('wangyz.jks')
storePassword '123456'
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
debug {
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
aaptOptions {
additionalParameters '--auto-add-overlay'
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation "com.facebook.fresco:animated-gif:1.13.0"
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
将下述内容添加到Androidmanifest.xml的application节点中,删除默认创建的MainActivity
注意:${apk.applicationId} 必须替换成当前应用的包名
资源配置
Android studio默认项目没有assets文件夹,需手动创建,创建位置与java目录同级。
创建data文件夹并拷贝资源
将SDK->assets->data文件夹拷贝到刚刚创建的assets文件夹下,如下图
将HBuilderX中的项目导出,将导出的资源复制到assets->apps下,如下图所示:
修改dcloud_control.xml文件
修改dcloud_control.xml中的appid为拷贝过来的uni-app的id,确保dcloud_control.xml中的appid与manifest.json中的id与文件夹名一致,如下图所示: