mPaaS 部署
SDK 目录结构
.
├── bcpkix-jdk15to18-1.69.jar
├── bcprov-jdk15to18-1.69.jar
├── nbs.newlens.android.log-1.0.1.aar
├── nbs.newlens.nativecrash-2.0.7.aar
├── rewriter
│ ├── json-20231013.jar
│ ├── nbs.newlens.so.parser-1.2.1.jar
│ ├── tingyun-ea-agent-android-class-rewriter-2.17.4.jar
│ └── tingyun-ea-agent-android-gradle-plugin-2.17.4.jar
├── shark-1.0.2.jar
├── tingyun-android-base-1.0.2.aar
├── tingyun-basemonitor-1.0.2.aar
├── tingyun-dump-1.0.2.aar
├── tingyun-ea-agent-android-2.17.4.aar
└── tingyun-javaleak-1.0.2.aar
壳项目(portal)添加依赖
在 project 级别的 build.gradle 文件中添加以下内容。
buildscript {
dependencies {
classpath fileTree(dir: 'rewriter', include: ['*.jar'])//将 sdk 的 rewriter 文件夹解压到 project 级别的 build.gradle 文件同级目录下,rewriter 文件夹中的 jar 包仅在编译时使用,不会打包到 apk 中
}
}
allprojects {
repositories {
flatDir {
dirs 'libs'
}
}
}
在 app 级别的 build.gradle 文件中添加以下内容。
apply plugin: 'newlens'
dependencies {
// 将 sdk 复制到 portal 项目 libs 目录下
//请将「Version」更改具体版本号
implementation(name: 'tingyun-ea-agent-android-version', ext: 'aar')
implementation(name: 'nbs.newlens.nativecrash-version', ext: 'aar') // 采集 natvie crash 需集成此包
implementation(name: 'nbs.newlens.android.log-version', ext: 'aar') // 日志回捞需集成此包
// 采集 OOM 数据需要 kotlin-gradle-plugin 插件 1.3+ ,并依赖 androidx.core:core-ktx、androidx.appcompat:appcompat、androidx.lifecycle:lifecycle-process、com.squareup.okio:okio 等库
implementation(name: 'tingyun-javaleak-version.aar', ext: 'aar') // 采 集OOM 需集成此包
implementation(name: 'tingyun-basemonitor-version.aar', ext: 'aar') // 采集 OOM 需集成此包
implementation(name: 'tingyun-android-base-version', ext: 'aar') // 采集OOM 需集成此包
implementation(name: 'tingyun-dump-version', ext: 'aar') // 采集 OOM 需集成此包
implementation files('libs/shark-version.jar') // 采集 OOM 需集成此包
implementation files('libs/bcpkix-jdk15to18-version.jar') // 启用国密加密需集成此包
implementation files('libs/bcprov-jdk15to18-version.jar') // 启用国密加密需集成此包
}
子项目(bundle)添加依赖
每个 bundle 都需要配置嵌码,在 project 级别的 build.gradle 文件中添加以下内容。
buildscript {
dependencies {
classpath fileTree(dir: 'rewriter', include: ['*.jar'])//将 sdk 的 rewriter 文件夹解压到 project 级别的 build.gradle 文件同级目录下,rewriter 文件夹中的 jar 包仅在编译时使用,不会打包到 apk 中
}
}
在 app 级别的 build.gradle 文件中添加以下内容。
apply plugin: 'newlens'
若插件中需要调用 SDK 中的方法,在 app 级别的 build.gradle 文件中添加以下内容。
dependencies {
// 将 tingyun-ea-agent-android-version.aar 复制到 bundle 项目 libs 目录下
compileOnly fileTree(include: ['*.aar'], dir: 'libs')
}
设置 Application
在 portal 中需使用自定义的 Application。
public class MyApp extends com.alipay.mobile.quinox.LauncherApplication {
@Override
public void onCreate() {
super.onCreate();
}
}
在 portal 的 AndroidMainfest 中配置 Application。
<application
android:name=".MyApp"
>