从Android应用中捕获HTTP/HTTPS流量,并发送到Proxyman进行调试。
Atlantis Android 是 Proxyman 的配套库,允许您在无需配置代理或安装证书的情况下,从 Android 应用中捕获并检查网络流量。
将 JitPack 仓库添加到您的 settings.gradle.kts:
dependencyResolutionManagement {
repositories {
maven { url = uri("https://jitpack.io") }
}
}
然后在模块的 build.gradle.kts 中添加依赖:
dependencies {
debugImplementation("com.github.ProxymanApp:atlantis-android:v1.0.0")
}
或者使用 Groovy(build.gradle):
dependencies {
debugImplementation 'com.github.ProxymanApp:atlantis-android:v1.0.0'
}
在模块的 build.gradle.kts 中添加依赖:
dependencies {
debugImplementation("com.proxyman:atlantis-android:1.0.0")
}
或者使用 Groovy(build.gradle):
dependencies {
debugImplementation 'com.proxyman:atlantis-android:1.0.0'
}
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Atlantis.start(this)
}
}
}
val okHttpClient = OkHttpClient.Builder()
.addInterceptor(Atlantis.getInterceptor())
.build()
使用 Atlantis.wrapWebSocketListener() 包装您的 WebSocketListener 以捕获 WebSocket 消息:
val listener = Atlantis.wrapWebSocketListener(object : WebSocketListener() {
override fun onOpen(webSocket: WebSocket, response: Response) {
// 您的逻辑
}
override fun onMessage(webSocket: WebSocket, text: String) {
// 您的逻辑
}
// ...
})
okHttpClient.newWebSocket(request, listener)
在 Mac 上打开 Proxyman,运行您的 Android 应用,即可查看流量!
atlantis-android/
├── atlantis/ # 库模块
│ └── src/
│ ├── main/kotlin/
│ │ └── com/proxyman/atlantis/
│ │ ├── Atlantis.kt # 主入口
│ │ ├── AtlantisInterceptor.kt # OkHttp 拦截器
│ │ ├── AtlantisWebSocketListener.kt # WebSocket 捕获
│ │ ├── Base64Utils.kt # Base64 编码
│ │ ├── Configuration.kt # 配置模型
│ │ ├── GzipCompression.kt # 压缩
│ │ ├── Message.kt # 消息类型
│ │ ├── NsdServiceDiscovery.kt # mDNS 发现
│ │ ├── Packages.kt # 数据模型
│ │ └── Transporter.kt # TCP 连接
│ └── test/kotlin/ # 单元测试
├── sample/ # 示例应用
├── PUBLISHING.md # 发布指南
└── README.md
直接在 Android Studio 中打开 atlantis-android 文件夹。它会自动下载 Gradle wrapper 并同步项目。
如果本地已安装 Gradle:
cd atlantis-android
gradle wrapper --gradle-version 8.7
# 构建库
./gradlew :atlantis:build
# 运行测试
./gradlew :atlantis:test
# 构建示例应用
./gradlew :sample:assembleDebug
./gradlew :atlantis:test
有关发布到 Maven Central 或 JitPack 的说明,请参见 PUBLISHING.md。
Apache License 2.0