首先安装Android studio创建项目需要用到
项目demo已整理好 上传至gitee 订阅后私信我
一、创建android项目
1、 标题如图选择empty activity 然后点击next
2、API 选择21以上的 不然会有问题
语言选择JAVA 其他的根据你们自己需要填写
选择完后点击finish
二、项目配置
1、基础库配置
将android-gif-drawable-release@1.2.23.aar,lib.5plus.base-release.aar,oaid_sdk_1.0.25.aar,uniapp-v8-release.aar 拷贝到libs目录下
2、依赖配置(操作文件build.gradle)
1、uni-app配置
uni-app配置时需要在build.gradle中添加aaptOptions配置
aaptOptions {
additionalParameters '--auto-add-overlay'
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
2、AndroidX配置
在build.gradle中dependencies下添加如下配置
注意:HBuilderX3.2.5版本之后适配了AndroidX。
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.facebook.fresco:fresco:2.5.0'
implementation "com.facebook.fresco:animated-gif:2.5.0"
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
3、配置如图
4、配置应用启动页及provider节点
将下述activity信息添加到Androidmanifest.xml的application节点中
注意:新建的项目默认会有一个MainActivity的节点,必须删掉!
注意:为适配折叠屏,需要在PandoraEntryActivity的android:configChanges属性中追加“smallestScreenSize|screenLayout|screenSize”,参考如下配置。
<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>
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize"
android:hardwareAccelerated="true"
android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
android:screenOrientation="user"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="h56131bcf" />
</intent-filter>
</activity>
添加provider信息到Androidmanifest.xml的application节点中
注意:3.3.7及以上版本,可以不添加
<provider
android:name="io.dcloud.common.util.DCloud_FileProvider"
android:authorities="${apk.applicationId}.dc.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/dcloud_file_provider" />
</provider>
如果报红
3、配置Appkey
3.1.10版本起需要申请 Appkey,申请请参考
Android平台签名证书,具体申请请参考
完成后
打开Androidmanifest.xml, 导航到Application节点,创建meta-data节点,name为dcloud_appkey,value为申请的AppKey如下:
<meta-data
android:name="dcloud_appkey"
android:value="0000000000000000000000000000000000"/>
4、配置应用版本号
versionCode为应用的版本号(整数值),用于各应用市场的升级判断,建议与manifest.json中version ->
code值一致versionName为应用的版本名称(字符串),在系统应用管理程序中显示的版本号,建议与manifest.json中version ->
name值一致。applicationId为应用的包名,一般设置为反向域名,不建议修改。
建议将targetSdkVersion设置为25或以上。
App离线SDK minSdkVersion最低支持21,小于21在部分5.0以下机型上将无法正常使用。
完整版build.gradle可参考如下内容。
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "cn.boyol.test"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
ndk {
abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
}
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
aaptOptions {
additionalParameters '--auto-add-overlay'
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.facebook.fresco:fresco:2.5.0'
implementation "com.facebook.fresco:animated-gif:2.5.0"
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
}
注意:如果需要集成的第三方sdk存在so库文件,只需添加armeabi-v7a、arm64-v8a、x86三个文件夹即可,否则会导致在部分手机上无法运行。
5、 配置应用名称
打开app-> src -> main -> res -> values -> strings.xml文件,修改“app_name”字段值,该值为安装到手机上桌面显示的应用名称,建议与manifest.json中name(基础配置中的应用名称)对应。
6、配置应用图标和启动界面
图标名称
icon.png为应用的图标。
push.png为推送消息的图标。
splash.png为应用启动页的图标
修改Androidmanifest.xml中application节点的icon属性为@drawable/icon。如下图:
7、资源配置
Android studio默认项目没有assets文件夹,需手动创建,创建位置与java目录同级。
将文件拷贝到刚刚创建的assets文件夹下,如下图:
DK升级时,data下资源需要同时更新。
三、 整合uniapp
1、创建apps文件夹并拷贝资源
uniapp 项目导出
将HBuilderX中的项目导出,将导出的资源复制到assets->apps下,如下图所示:
2、修改dcloud_control.xml文件
修改dcloud_control.xml中的appid为拷贝过来的uni-app的id,确保dcloud_control.xml中的appid与manifest.json中的id与文件夹名一致,如下图所示:
3、生成自定义基座
需要在根节点下添加debug="true"和syncDebug=“true”,如下图:
4、证书配置
证书
四、运行
五、完成
H5:
安卓:
调用方法(下期更新)