Android 抓包别再装证书
Atlantis Android 把 OkHttp、Retrofit、Apollo Kotlin 和 WebSocket 流量直接送进 Proxyman。省掉代理和证书配置,但它不是系统级抓包工具。

Android 抓包最烦的地方,通常不在抓包工具本身,而在手机代理、证书安装、系统版本和证书校验。 Atlantis Android 换了一个角度:把库接进 App,直接把 HTTP 、 HTTPS 和 WebSocket 流量发送到 Proxyman 。
它是 Proxyman 的开源伴随库,适合 Android 开发调试。 README 里写得很明确:不需要配置代理,也不需要在设备上安装 SSL 证书;支持 OkHttp 自动拦截,Retrofit 2.9+、 Apollo Kotlin 3.x/4.x 也能跟着覆盖,因为它们常走 OkHttp 。

先看限制
这不是系统级抓包。它只能看到你接入了 Atlantis interceptor 的 App 流量,抓不到其他 App,也抓不到没走 OkHttp 的网络栈。 WebSocket 也要用 Atlantis.wrapWebSocketListener() 包一层 listener 。
运行条件也要对上:Android API 26+,OkHttp 4.x 或 5.x,Kotlin 1.9+。 Proxyman 要在电脑上开着,真机通常要和电脑处在同一局域网,库会用 NSD 自动发现;模拟器支持直连。如果自动发现不稳,可以手动传 Mac 的 hostname 。
依赖建议只放在 debugImplementation。它会把请求、响应、 Header 、 Body 发到调试端,生产包里别带,涉及 token 、手机号、订单号的接口也要注意脱敏和团队权限。
使用教程
先在 settings.gradle.kts 加 JitPack:
dependencyResolutionManagement {
repositories {
maven { url = uri("https://jitpack.io") }
}
}
模块里加依赖:
dependencies {
debugImplementation("com.github.ProxymanApp:atlantis-android:v1.0.0")
}
也可以走 Maven Central:
dependencies {
debugImplementation("com.proxyman:atlantis-android:1.0.0")
}
然后在 Application 里启动:
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Atlantis.start(this)
}
}
}
给 OkHttpClient 加 interceptor:
val okHttpClient = OkHttpClient.Builder()
.addInterceptor(Atlantis.getInterceptor())
.build()
WebSocket 需要单独包 listener:
val listener = Atlantis.wrapWebSocketListener(
object : WebSocketListener() {
override fun onMessage(webSocket: WebSocket, text: String) {
// your logic
}
}
)
okHttpClient.newWebSocket(request, listener)
如果想固定连某台电脑,可以这样写:
Atlantis.start(this, "MacBook-Pro.local")
最后打开 Proxyman,运行 App,流量会出现在 Proxyman 里。团队调接口、排查登录态、看 GraphQL 请求、定位 WebSocket 消息时,这种接法比每次教同事装证书省事很多。前提也很清楚:只放 debug 包,只抓自己 App,只在可信网络里调试。