Install
openclaw skills install umeng-analytics-integration自动将友盟Android统计SDK集成到现有Android项目中,包括环境检查、项目验证、SDK集成、编译验证和logcat验证。
openclaw skills install umeng-analytics-integration自动将友盟Android统计SDK集成到现有Android项目中,简化SDK集成流程。
python scripts/main.py --project-path /path/to/android/project
运行后会引导你输入:
python scripts/main.py --project-path /path/to/project --app-module myapp
如果需要避免交互提示,可以直接传递参数:
echo -e "y\nyour_appkey\nyour_channel\ny" | python scripts/main.py --project-path /path/to/project
或使用占位符:
echo -e "n\ny" | python scripts/main.py --project-path /path/to/project
| 参数 | 必需 | 默认值 | 说明 |
|---|---|---|---|
--project-path | ✅ | - | Android项目路径 |
--app-module | ❌ | app | App模块名称 |
步骤1: 🔍 环境检查
↓
步骤2: 📂 项目验证(含编译验证)
↓
步骤3: ⌨️ 参数交互(appkey + channel)
↓
步骤4: 📦 SDK集成
├─ 添加Maven仓库
├─ 添加SDK依赖
├─ 配置权限
├─ 添加混淆规则
└─ 创建/修改Application类
↓
步骤5: 🔨 编译验证
↓
步骤6: 📱 SDK验证(logcat)
↓
步骤7: 📋 生成报告
在项目级settings.gradle.kts中配置(Version Catalogs模式):
dependencyResolutionManagement {
repositories {
mavenCentral()
maven { setUrl("https://repo1.maven.org/maven2/") }
}
}
Version Catalogs模式(推荐):
在gradle/libs.versions.toml中定义:
[versions]
umeng-common = "+"
umeng-asms = "+"
[libraries]
umeng-common = { module = "com.umeng.umsdk:common", version.ref = "umeng-common" }
umeng-asms = { module = "com.umeng.umsdk:asms", version.ref = "umeng-asms" }
在app/build.gradle.kts中引用:
dependencies {
implementation(libs.umeng.common)
implementation(libs.umeng.asms)
}
传统模式:
dependencies {
implementation("com.umeng.umsdk:common:+")
implementation("com.umeng.umsdk:asms:+")
}
在AndroidManifest.xml中添加:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在proguard-rules.pro中添加:
-keep class com.umeng.** {*;}
-keep class org.repackage.** {*;}
-keep class com.uyumao.** { *; }
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
创建或修改Application类,添加SDK初始化代码:
Kotlin版本:
class UmengApplication : Application() {
override fun onCreate() {
super.onCreate()
UMConfigure.setLogEnabled(true)
UMConfigure.preInit(this, "your_appkey", "your_channel")
Thread {
UMConfigure.init(
this,
"your_appkey",
"your_channel",
UMConfigure.DEVICE_TYPE_PHONE,
null
)
}.start()
}
}
A: 安装JDK 17或更高版本:
# macOS
brew install openjdk@17
# Linux
sudo apt install openjdk-17-jdk
# Windows
# 下载: https://adoptium.net/
A: 安装Android Studio,它会自动配置环境变量。或手动配置:
# macOS
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
# Linux/Ubuntu
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
# 在~/.bashrc或~/.zshrc中添加上述配置
source ~/.bashrc # 使配置生效
Ubuntu安装Android SDK:
# 方法1: 安装Android Studio(推荐)
sudo snap install android-studio --classic
# 方法2: 命令行安装SDK Tools
sudo apt install wget unzip
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
unzip commandlinetools-linux-11076708_latest.zip
mkdir -p $HOME/Android/Sdk/cmdline-tools
mv cmdline-tools $HOME/Android/Sdk/cmdline-tools/latest
# 接受license并安装必要组件
export ANDROID_HOME=$HOME/Android/Sdk
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
A: SDK集成前项目必须可编译。请:
A: 集成时需要替换为真实值:
YOUR_UMENG_APPKEY为真实appkeyYOUR_CHANNEL为真实channelA: 运行应用后查看logcat日志:
adb logcat | grep "UMConfigure"
看到以下日志说明成功:
本次启动数据: 发送成功!
A: 使用回滚脚本:
python scripts/rollback.py --backup-dir /path/to/backup
A: 支持,使用--app-module参数指定:
python scripts/main.py --project-path /path/to/project --app-module myapp
A: 自动修改现有Application类: