欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

【错误记录】Android 应用运行报错 ( java.lang.VerifyError: Verifier rejected class androidx. | 逆向中遇到的问题 )

发布时间:2025/6/17 Android 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【错误记录】Android 应用运行报错 ( java.lang.VerifyError: Verifier rejected class androidx. | 逆向中遇到的问题 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 一、报错信息
  • 二、问题分析





一、报错信息



从 DEX 文件加载 Activity 组件 , 运行时报如下错误 ;

2021-12-12 14:02:52.432 5342-5342/com.example.classloader_demo E/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.example.classloader_demo, PID: 5342java.lang.VerifyError: Verifier rejected class androidx.appcompat.app.WindowDecorActionBar: androidx.appcompat.view.ActionMode androidx.appcompat.app.WindowDecorActionBar.startActionMode(androidx.appcompat.view.ActionMode$Callback) failed to verify: androidx.appcompat.view.ActionMode androidx.appcompat.app.WindowDecorActionBar.startActionMode(androidx.appcompat.view.ActionMode$Callback): [0x2A] register v0 has type Precise Reference: androidx.appcompat.app.WindowDecorActionBar$ActionModeImpl but expected Reference: androidx.appcompat.view.ActionMode (declaration of 'androidx.appcompat.app.WindowDecorActionBar' appears in /data/app/com.example.classloader_demo-F2fgfWcEO4AIIt49r9aB1w==/base.apk)at androidx.appcompat.app.AppCompatDelegateImpl.initWindowDecorActionBar(AppCompatDelegateImpl.java:557)at androidx.appcompat.app.AppCompatDelegateImpl.getSupportActionBar(AppCompatDelegateImpl.java:537)at androidx.appcompat.app.AppCompatDelegateImpl.onPostResume(AppCompatDelegateImpl.java:679)at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:241)at android.app.Activity.performResume(Activity.java:7325)at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3814)at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3854)at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)at android.os.Handler.dispatchMessage(Handler.java:106)at android.os.Looper.loop(Looper.java:193)at android.app.ActivityThread.main(ActivityThread.java:6718)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)





二、问题分析



这是从 Dex 文件中加载 Activity 组件类 , 然后启动该 Activity 组件 , 报上述错误 ;

Activity 组件类加载成功 , 执行时报错 ;

错误是与类加载方式相关 ;

加载该 Activity 组件类时 , 先创建 DexClassLoader , 并设置其 父类节点为 BootClassLoader , 然后使用 DexClassLoader 实例对象作为 PathClassLoader 的父节点 ;

最终加载到该 Activity 组件并启动该组件时 , 报上述错误 ;

使用 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 替换 LoadedApk 中的类加载器 | 加载 DEX 文件中的 Activity 类并启动成功 ) 中的方案是可以执行成功的 ;

总结

以上是生活随笔为你收集整理的【错误记录】Android 应用运行报错 ( java.lang.VerifyError: Verifier rejected class androidx. | 逆向中遇到的问题 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。