前提条件
说明:
搭载 minSdkVersion 21 环境。
集成方式
小程序容器集成
1. 配置仓库地址
方式一:Gradle 7.0以前版本。
打开用户项目管理工具,在项目级 build.gradle 中添加如下配置。
buildscript {dependencies {classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32'}}allprojects {repositories {maven {url 'https://tcmpp-work-maven.pkg.coding.net/repository/tcmpp/android'}}}
方式二:Gradle 7.1及之后版本。
在项目级 settings.gradle 中添加如下配置。
pluginManagement {repositories {maven {url 'https://tcmpp-work-maven.pkg.coding.net/repository/tcmpp/android'}}}dependencyResolutionManagement {repositories {maven {url 'https://tcmpp-work-maven.pkg.coding.net/repository/tcmpp/android'}}}
2. 在应用级 build.gradle 中配置插件。
方式一:Gradle 7.0以前版本:
apply plugin: 'kotlin-android'apply plugin: 'kotlin-kapt'
方式二:Gradle 7.1及之后版本:
plugins {id "org.jetbrains.kotlin.android"id "org.jetbrains.kotlin.kapt"}
3. 在应用级 build.gradle 中配置 packagingOptions。
android {defaultConfig {packagingOptions {pickFirst 'lib/arm64-v8a/libc++_shared.so'pickFirst 'lib/armeabi/libc++_shared.so'pickFirst 'lib/armeabi-v7a/libc++_shared.so'pickFirst 'lib/arm64-v8a/libmarsxlog.so'pickFirst 'lib/armeabi/libmarsxlog.so'pickFirst 'lib/armeabi-v7a/libmarsxlog.so'pickFirst 'lib/arm64-v8a/libv8jni.so'}}}
4. 在应用级 build.gradle 中配置依赖项。
dependencies {implementation 'com.google.android.material:material:1.3.0-alpha03'implementation 'androidx.core:core-ktx:1.6.0'//gosnimplementation 'com.google.code.gson:gson:2.8.6'// ok-httpimplementation 'com.squareup.okhttp3:okhttp:3.12.13'// mini app start// mini app end}
请将 ${version} 替换为 SDK 最新版本,版本信息请参考 SDK 更新动态。
如果开发者原来的工程中使用了 annotationProcessor 注解处理器,需要将所有 annotationProcessor 改为 kapt。
如需使用x5内核,可参考 扩展 SDK > X5内核。
5. 集成过程可能会遇到的问题
集成过程可能会遇到如下问题:
AAPT: error: attribute android:requestLegacyExternalStorage not found.
在 application 标签下添加如下代码:
<applicationandroid:theme="@style/AppTheme"tools:replace="android:icon"tools:remove="android:requestLegacyExternalStorage">/application>
集成过程中可能会出现如下错误:
Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-v4-21.0.3-runtime (com.android.support:support-v4:21.0.3)
在
gradle.properties
中添加如下代码:android.useAndroidX=trueandroid.enableJetifier=true
6. 小程序 taro 框架支持
Uncaught DOMException: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.at <anonymous>:1207:96250at Array.forEach (<anonymous>)at Module.<anonymous> (<anonymous>:1207:96164)at Module.9 (<anonymous>:1207:113782)at l (<anonymous>:1203:566)at Module.204 (<anonymous>:1215:87806)at l (<anonymous>:1203:566)at t (<anonymous>:1203:435)at Array.r [as push] (<anonymous>:1203:298)at <anonymous>:1215:125
如果小程序基于 Taro 框架开发可能出现上面的错误,请添加如下依赖(未使用 taro 框架则无需添加)。
implementation 'com.tencent.tcmpp.android:mini_extra_v8:${version}'