gpt4 book ai didi

java - 将变量添加到framework.jar后,它仍然无法访问

转载 作者:行者123 更新时间:2023-12-02 03:43:40 31 4
gpt4 key购买 nike

我正在尝试通过添加静态 boolean 变量来修改frameworks.jar(仅用于测试)为此,我从模拟器中提取了frameworks.jar,将其反编译并将此行添加到LocationManager:

.field public static TEST:Z = 0x0

为了测试这个变量,我创建了一个小应用程序,我尝试使用这行代码访问这个变量

sget-boolean v1, Landroid/location/LocationManager;->TEST:Z

但这给了我一个异常(exception)。我通过拉取并反编译来检查修改后的framework.jar是否不会替换原始框架。我在从手机中提取的framework.jar 中找到了这个变量。如果这个变量存在,为什么它仍然告诉我它不存在

异常

06-30 02:16:53.388 E/AndroidRuntime(10801): FATAL EXCEPTION: main
06-30 02:16:53.388 E/AndroidRuntime(10801): Process: com.greedycat.smalitest, PID: 10801
06-30 02:16:53.388 E/AndroidRuntime(10801): java.lang.IllegalStateException: Could not execute method for android:onClick
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.view.View.performClick(View.java:6302)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.view.View$PerformClick.run(View.java:24782)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.os.Handler.handleCallback(Handler.java:790)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.os.Handler.dispatchMessage(Handler.java:99)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.os.Looper.loop(Looper.java:164)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.app.ActivityThread.main(ActivityThread.java:6518)
06-30 02:16:53.388 E/AndroidRuntime(10801): at java.lang.reflect.Method.invoke(Native Method)
06-30 02:16:53.388 E/AndroidRuntime(10801): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
06-30 02:16:53.388 E/AndroidRuntime(10801): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
06-30 02:16:53.388 E/AndroidRuntime(10801): Caused by: java.lang.reflect.InvocationTargetException
06-30 02:16:53.388 E/AndroidRuntime(10801): at java.lang.reflect.Method.invoke(Native Method)
06-30 02:16:53.388 E/AndroidRuntime(10801): at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
06-30 02:16:53.388 E/AndroidRuntime(10801): ... 9 more
06-30 02:16:53.388 E/AndroidRuntime(10801): Caused by: java.lang.NoSuchFieldError: No static field TEST of type Z in class Landroid/location/LocationManager; or its superclasses (declaration of 'android.location.LocationManager' appears in /system/framework/framework.jar)
06-30 02:16:53.388 E/AndroidRuntime(10801): at com.greedycat.smalitest.MainActivity.click(MainActivity.java:20)
06-30 02:16:53.388 E/AndroidRuntime(10801): ... 11 more
06-30 02:16:53.392 W/ActivityManager( 1237): Force finishing activity com.greedycat.smalitest/.MainActivity

最佳答案

变量名称是 TEST,异常提到 IS_MOCKING,因此您没有正确重新编译应用程序或类似的内容。

关于java - 将变量添加到framework.jar后,它仍然无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56821515/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com