Android逆向环境

很好的软件安全小组作业,使我的电脑自动安装安卓逆向环境

参考:

https://bbs.kanxue.com/thread-285906.htm

https://www.freebuf.com/articles/mobile/285861.html

这个是好东西:https://www.androiddevtools.cn/,就是网页有点抽象

Android Studio

下载:https://www.androiddevtools.cn/#android-studio

版本:Android Studio Otter 3 Feature Drop | 2025.2.3 Canary 4 December 8, 2025

image-20251226144005209

这个组件就算跳过了后面用的时候也得下来着,我选择一直retry。try了一晚上总算好了

配置

Android SDK

SDK包含了安卓开发和调试所需的各类工具及系统镜像(包括adb)

打开设置-language&frameworks,查看SDK的路径

image-20260114114122257

把SDK路径以及\platform-tools子目录(ADB工具所在目录)加到环境变量里。

测试:

image-20260114114601471

默认项目路径

默认在C盘吓死了

image-20260110165321543

修改.android和.gradle路径

参考:https://blog.gremlins-book.com/docs/app/androidstudio1.html

.android 文件夹:存放 Android 开发环境的配置文件和缓存文件,包括 Android SDK。
.gradle 文件夹:类似于 maven 的 .m2 文件夹,用来存放依赖包。

默认.android 和.gradle 文件夹的存放路径:

1
2
C:\Users\用户名\.android
C:\Users\用户名\.gradle

先关闭所有项目和android studio,把这俩文件夹移动,然后配置环境变量(还没做)

1
2
ANDROID_SDK_HOME=D:\software\Android
GRADLE_USER_HOME=D:\software\Android\.gradle

修改android studio设置,Settings->Build,Execution,Deployment->Build Tools->Gradle

image-20260114171722342

使用

参考:

https://www.freebuf.com/articles/mobile/285861.html

android emulator 部署外部apk

新建虚拟设备

这一步是选硬件模板,长宽啥的应该是,随便挑

image-20260114165420504

选系统镜像

image-20260114165710240

选了android14,没有已下载的镜像,点击下载。然后漫长的等待,好了之后点完成

image-20260114165815267

安装外部apk

  1. 可以直接把apk拖进来。但是发现会自动检查16kb对齐

  2. 1
    adb install -r 1.apk

    image-20260114172742835

adb命令

列出连接的设备,包括正在运行的模拟器

1
adb devices

安装apk。-r是replace,重装的意思,即使有这个包名也装

1
adb install /path/to/your/app.apk

(adb shell这边,感觉就是后面接一个命令带进设备shell里执行)

按关键字查找包名

1
adb shell pm list packages | findstr <关键字>

启动应用。使用 Monkey 工具启动

1
adb shell monkey -p com.example.myapp -c android.intent.category.LAUNCHER 1

卸载应用

1
adb uninstall packages

重启设备

1
adb reboot

进入设备shell

1
adb shell

获取设备root权限

1
adb root

image-20260114225251521

说明这台设备是 user (production) 版系统,Google 把 adbd 的 root 能力阉掉了,正规途径无法 adb root。

在device manager中选中设备,点开三个点,show on disk

image-20260114225923436

打开config.ini找image.sysdir.1=system-images/android-34/google_apis/*,如果是google_apis_playstore,说明是user版,得重装一个设备

image-20260114232434629

好的重装吧。系统镜像这一步选Google APIs,不要选Google Play

image-20260114232652347

再试就OK了

image-20260114234132509

jadx

参考:https://www.cnblogs.com/gqv2009/p/16791864.html

JDK与JRE

正式名 包含内容
Java 语言规范 + 语法
JDK (Java Development Kit) JRE + 编译器(javac) + 调试器(jdb) + 打包工具(jar) + 头文件等
JRE (Java Runtime Environment) JVM + 核心类库 + 支持文件

JDK包含JRE

JDK(Java Development Kit)

参考:https://blog.csdn.net/ACE_U_005A/article/details/114840497

下载:https://www.oracle.com/java/technologies/downloads/#jdk21-windows

下的压缩包版,解压到Java文件夹。然后在加系统变量,在Path里加jdk的bin路径

验证。这里我用--version报错了,得用-version,改版了?

image-20260106145030502

jadx安装

下载:https://github.com/skylot/jadx/releases

下了这个:jadx-gui-1.5.3-win.zip - jadx-gui Windows executable (system JRE must be installed)

进lib目录运行

1
java -jar jadx-gui-1.5.3-all.jar

说我的java版本太老了

image-20260106153433246

查看java路径,是先识别到了oracle的java8了

image-20260106153458765

可以在系统变量里把jdk21的路径提前,或者卸载oracle java8。选择卸载,包括:卸载,删除这个文件夹,以及删除相应的环境变量

再试成功

image-20260106154703390

配置

字体

首选项-界面

image-20260110164307338

快速启动

批处理

新建一个批处理文件jadx_gui.bat

1
2
@echo off
java -jar "%~dp0\lib\jadx-gui-1.5.3-all.jar"

双击这个bat文件就可以打开jadx

添加到右键

可以直接使用命令用jadx打开文件

1
java -jar jadx-gui-1.5.3-all.jar "111.jar"

修改注册表项,在计算机\HKEY_CLASSES_ROOT\*\shell\下添加一项,默认值:

1
"D:\Tool\Java\jdk-21.0.9\bin\java.exe" -jar "D:\CTFTools\jadx-gui-1.5.3-win\lib\jadx-gui-1.5.3-all.jar" "%1"

这里注意路径全部都要写死

icon设置成jadx的exe路径。嗯…icon好像不太行

image-20260106161842487

问gemini,它说你可以用java的图标。我去,天才

image-20260106164641392

使用

复制完整类名

什么?你说这个不用教?对不起我就需要这种东西

image-20260111222214200

jadx-ai-mcp

项目地址:https://github.com/zinja-coder/jadx-ai-mcp

release:https://github.com/zinja-coder/jadx-ai-mcp/releases

jadx-ai-mcp-<version>.jar and jadx-mcp-server-<version>.zip都下载,然后解压zip。这个布局:

1
2
3
4
5
6
7
├jadx-mcp-server/
├── jadx_mcp.py
├── requirements.txt
├── README.md
├── LICENSE

├jadx-ai-mcp-<version>.jar

jadx里安装插件

首选项里找到,点安装然后保存

image-20260111122242024

菜单栏点插件-安装插件-选择jar

image-20260111122427167

CherryStudio

官方给的又是用uvx,不想用,改用python。首先需要在python环境里安装fastmcp和httpx包

验证:

image-20260111153102608

OK的,那就在cherry Studio里添加服务器。类型选stdio,命令输python解释器路径,参数输jadx_mcp_server.py的路径,保存,启动

cherry Studio对话里选择对应的mcp服务器

image-20260111153355345

成功

image-20260111153619033

配置

jadx的插件选项里可以查看和修改服务器端口

image-20260111155500688

APKTool

下载

下载地址:https://github.com/iBotPeaches/Apktool/releases

引用:https://apktool.org/docs/install

  1. Download the Windows wrapper script. (Right click, Save Link As apktool.bat)
  2. Download the latest version of Apktool.
  3. Rename downloaded jar to apktool.jar.
  4. Move both apktool.jar and apktool.bat to your Windows directory. (Usually C://Windows)
  5. If you do not have access to C://Windows, you can place the two files anywhere and add that directory to your Environment Variables System PATH variable.
  6. Try running apktool via the command prompt.

wrapper script这里是个bat文件,结合这个bat文件可以在命令行中直接使用apktool而不是都要使用java -jar。这个bat文件和下载的apktool.jar要放在同一个目录

使用

参考:https://www.cnblogs.com/clnchanpin/p/19397048#_apktool_25

解包

1
apktool d myapp.apk -o myapp_decoded

堆不够用

image-20260110171849868

先设置堆给到 8 G,再运行。还不行,加上-j,限制使用的线程数。-f是覆盖(因为之前执行过有这个目录了)

1
java -Xmx8g -jar apktool.jar d f -j 1 myapp.apk -o myapp_decoded

终于成了

image-20260110173247074

重打包

1
apktool b myapp_decoded -o my_new.apk

加上-d允许调试

Frida

项目地址:https://github.com/frida/frida/releases

参考:

https://blog.csdn.net/qq_40037555/article/details/154522204 好详细,但是只有一部分

Frida是一款动态 instrumentation 工具,可用于在运行时Hook应用程序的函数/方法,需分别在设备端(Frida-Server)和本地端(Frida-Client)配置。

服务器

Frida-Server 是运行在 Android 设备上的服务器端组件,允许 Frida 客户端与设备进行通信。

选择版本:

注意拉到下面选择frida-server开头的

  • 模拟器的架构通常为x86_64,选择android-x86_64.xz结尾的二进制包;
  • 真机通常为ARM架构,选择android-arm64.xz结尾的二进制包。

获取设备的架构。进设备shel然后执行

1
getprop ro.product.cpu.abi

image-20260114222107541

所以本例就是应该下载 frida-server-17.5.2-android-x86_64.xz

下载对应版本后解压,推送到设备

1
2
3
4
5
6
7
8
# 推送到设备
adb push frida-server /data/local/tmp/

# 换个名字方便
adb shell mv /data/local/tmp/frida-server-17.5.2-android-x86_64 /data/local/tmp/frida-server

# 设置执行权限
adb shell "chmod 755 /data/local/tmp/frida-server"

获取设备root权限,然后运行

1
2
3
4
adb root

# 以 root 权限运行
adb shell "su 0 sh -c '/data/local/tmp/frida-server &'"
su 0 切换到 root 用户(uid=0),否则没权限监听低端口
sh -c '...' 启动一个 shell,把单引号里的内容当成完整脚本执行(Android 的 su 没有 -c,用 sh 包一层实现)
/data/local/tmp/frida-server 真正要运行的可执行文件路径
& 设备端 shell 里把 frida-server 放后台,这样 adb 会话断开后进程不会被杀

然后没输出是正常的

image-20260115000621000

客户端

需要python和nodejs环境(编译js的hook脚本)

Frida-Tool 是命令行工具,通常与 Frida 版本相对应。

安装。得和frida server版本匹配。因为用的就是最新版的所以没关系

1
pip install frida-tools

image-20260115104454288

步骤

先push Server到设备并且启动

1
2
adb root
adb shell "su 0 sh -c '/data/local/tmp/frida-server &'"

这里如果报端口被占用的话,可能是上次没关()也能用

验证

1
2
3
4
5
# 列出设备上运行的进程
frida-ps -U

# 列出已安装的应用
frida-ps -Ua

image-20260115105416083

安装apk到虚拟设备

1
adb install path/to/apk

使用monkey启动

1
adb shell monkey -p com.ting.android -c android.intent.category.LAUNCHER 1

编写和运行hook脚本

1
frida -U -f com.你的应用包名 -l hook.js

实战流程

后面参考一下这个吧:https://bbs.kanxue.com/thread-285906.htm

image-20260110163323774

用jadx打开APK文件,打开manifest.xml,找入口点。应该是WelcomeScreen.Alias0,需要enabled=”true”,同时WelcomeScreen

image-20260110164109159

打开Android Studio,点new project

正常流程是apktool d解包apk,然后b -d给manifest加debug参数,然后keystone生成新签名,jarsigner重签名apk就可以了。

可能是一些tips

apk启动错误排查

比如说这个卡在了启动界面,或者直接黑屏了

在logcat里查找

image-20260116114913279

1
2
3
4
5
6
7
8
9
10
11
12
2026-01-16 11:43:05.325 11737-11737 System.err              com.ximalaya.ting.android            W  Caused by: java.lang.NoSuchMethodException: dalvik.system.VMRuntime.setHiddenApiExemptions [class [Ljava.lang.String;]
2026-01-16 11:43:06.184 11737-11850 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.mm.memoryinfo.ApmMemoryInfoModule" on path: DexPathList[[zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.194 11737-11850 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.mm.leak.ApmMemoryLeakModule" on path: DexPathList[[zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.212 11737-11850 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.mm.oom.ApmOOMModule" on path: DexPathList[[zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.374 11737-11887 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.huawei.system.BuildEx" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.379 11737-11850 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.iomonitor.ApmIOModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.391 11737-11856 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.ad.ARouter$$Root$$AdModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.507 11737-11850 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.xmbootmonitor.ApmBootNetMonitorModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.624 11737-11855 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.main.ARouter$$Root$$MainModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.633 11737-11855 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.main.ARouter$$Providers$$MainModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:06.647 11737-11855 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.main.ARouter$$Interceptors$$MainModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 11:43:09.040 11737-12200 System.err com.ximalaya.ting.android W Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)

后来是进去了但是无响应了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Caused by: java.net.ConnectException: failed to connect to mermaid.test.ximalaya.com/10.146.3.40 (port 443) from /10.0.2.16 (port 55302) after 29998ms: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:11:26.411 16105-16148 System.err com.ximalaya.ting.android W Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:12:51.205 16105-16148 System.err com.ximalaya.ting.android W Caused by: java.net.ConnectException: failed to connect to mermaid.test.ximalaya.com/10.146.3.40 (port 443) from /10.0.2.16 (port 40800) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:12:51.214 16105-16148 System.err com.ximalaya.ting.android W Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:13:33.863 16105-16148 System.err com.ximalaya.ting.android W Caused by: java.net.ConnectException: failed to connect to mermaid.test.ximalaya.com/10.146.3.14 (port 443) from /10.0.2.16 (port 56144) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:13:33.866 16105-16148 System.err com.ximalaya.ting.android W Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:14:16.551 16105-16148 System.err com.ximalaya.ting.android W Caused by: java.net.ConnectException: failed to connect to mermaid.test.ximalaya.com/10.146.3.14 (port 443) from /10.0.2.16 (port 39838) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:14:16.556 16105-16148 System.err com.ximalaya.ting.android W Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:15:24.981 16105-20411 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.mylisten.ARouter$$Root$$MyListenModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/radio/origin/radio.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/chat/origin/chat.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 23:15:26.466 16105-16105 System.err com.ximalaya.ting.android W Caused by: java.lang.NullPointerException: itemView.findViewById(R.id.listen_v_root) must not be null
2026-01-16 23:15:33.105 16105-20415 System.err com.ximalaya.ting.android W Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ximalaya.ting.android.record.ARouter$$Root$$RecordModule" on path: DexPathList[[zip file "/data/user/0/com.ximalaya.ting.android/app_dex/record/origin/record.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/radio/origin/radio.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/chat/origin/chat.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/kid/origin/kid.apk", zip file "/data/user/0/com.ximalaya.ting.android/app_dex/ad/origin/ad.apk", zip file "/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk"],nativeLibraryDirectories=[/data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/lib/arm64, /data/app/~~LhWkTAekNeLdyVfbUl_l1Q==/com.ximalaya.ting.android-GN4AVz4NtRzZb2B0a-rhPA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
2026-01-16 23:17:32.676 16699-16883 System.err com.ximalaya.ting.android W Caused by: java.net.ConnectException: failed to connect to mermaid.test.ximalaya.com/10.146.3.40 (port 443) from /10.0.2.16 (port 58734) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:17:32.688 16699-16883 System.err com.ximalaya.ting.android W Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:18:15.388 16699-16883 System.err com.ximalaya.ting.android W Caused by: java.net.ConnectException: failed to connect to mermaid.test.ximalaya.com/10.146.3.40 (port 443) from /10.0.2.16 (port 44662) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)
2026-01-16 23:18:15.392 16699-16883 System.err com.ximalaya.ting.android W Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)