marzika / Snapprefs

A project which offer enhanced features for Snapchat throught the Xposed Framework.
GNU General Public License v3.0
272 stars 82 forks source link

ClassNotFoundException from XposedHelpers.findAndHookMethod() #323

Closed dreapy closed 7 years ago

dreapy commented 7 years ago

Expected Behavior

Snapprefs dev build should work with Snapchat 9.39.5

Current Behavior

No features is currently working on Bluestack with Xposed framework on Snapchat 9.39.5 It was totally working with Snapprefs 2.0.0 beta and Snapchat 9.31.1 I don't know if it can help but when I run for the first time Snapprefs, a message displayed : Registration with Web server failed

Steps to Reproduce (for bugs)

  1. Get a Bluestack PreRooted and install Xposed Framework with BStweaker
  2. Install Snapchat 9.39.5 and Snapprefs from the artefact on Jenkins
  3. Try to make it work Snapprefs
  4. See the Xposed logs:
    ----------------- SNAPPREFS HOOKED -----------------
    SnapChat Version: 9.39.5.0 (933)
    SnapPrefs Version: 2.0.0 beta (25)
    Snapprefs: [Forced] Performing LogType load
    Snapprefs: [Forced] Loaded [FORCED, DATABASE, PREFS, PREMIUM, GROUPS, LENS, SAVING, DEBUG, CHAT, FILTER] log types
    Snapprefs: [Debug] Loading map from xposed
    Snapprefs: [Prefs] XPrefs file exists: /data/data/com.marz.snapprefs/shared_prefs/com.marz.snapprefs_preferences.xml
    Snapprefs: [Prefs] Loading preferences
    Snapprefs: [Prefs] Null preferences... Creating new
    Snapprefs: [Prefs] Package name: com.marz.snapprefs
    Snapprefs: [Prefs] Making readable
    Snapprefs: [Prefs] Starting spin locker
    Snapprefs: [Prefs] Current spin count: 500
    Snapprefs: [Prefs] Current spin count: 1000
    Snapprefs: [Prefs] Completed 1199 spins
    Snapprefs: [Prefs] loading preference map: true
    Snapprefs: [Prefs] Map size: 2
    de.robv.android.xposed.XposedHelpers$ClassNotFoundError: java.lang.ClassNotFoundException: abc
    at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:52)
    at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:136)
    at com.marz.snapprefs.HookMethods.handleLoadPackage(HookMethods.java:290)
    at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
    at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
    at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
    at de.robv.android.xposed.XposedBridge$1.beforeHookedMethod(XposedBridge.java:208)
    at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:611)
    at android.app.ActivityThread.handleBindApplication(Native Method)
    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5021)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.ClassNotFoundException: abc
    at java.lang.Class.classForName(Native Method)
    at java.lang.Class.forName(Class.java:251)
    at external.org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:823)
    at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:50)
    ... 19 more
    Caused by: java.lang.NoClassDefFoundError: abc
    ... 23 more
    Caused by: java.lang.ClassNotFoundException: Didn't find class "abc" on path: DexPathList[[zip file "/data/app/com.snapchat.android-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.snapchat.android-2, /system/lib, /system/lib/arm, /data/downloads]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
    ... 23 more
    Snapprefs: [Debug] Initialising preferences from xposed
    Snapprefs: [Debug] Adding Save Buttons
    Snapprefs: [Debug] Updating view_snap.snap_container layout
    java.lang.NullPointerException
    at com.marz.snapprefs.HookedLayouts.px(HookedLayouts.java:545)
    at com.marz.snapprefs.HookedLayouts$3.handleLayoutInflated(HookedLayouts.java:170)
    at de.robv.android.xposed.callbacks.XC_LayoutInflated.call(XC_LayoutInflated.java:33)
    at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
    at android.content.res.XResources$2.afterHookedMethod(XResources.java:199)
    at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:645)
    at android.view.LayoutInflater.inflate(Native Method)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at YG.<init>(SourceFile:232)
    at YG.<init>(SourceFile:195)
    at com.snapchat.android.camera.CameraFragment.a(SourceFile:743)
    at com.snapchat.android.camera.BaseCameraFragment.onCreateView(SourceFile:101)
    at com.snapchat.android.camera.CameraFragment.onCreateView(SourceFile:532)
    at android.support.v4.app.Fragment.performCreateView(SourceFile:1974)
    at ae.a(SourceFile:1067)
    at ae.a(SourceFile:1252)
    at Z.run(SourceFile:738)
    at ae.i(SourceFile:1617)
    at ae.b(SourceFile:570)
    at aya.finishUpdate(SourceFile:122)
    at android.support.v4.view.ViewPager.populate(SourceFile:1177)
    at android.support.v4.view.ViewPager.populate(SourceFile:1025)
    at android.support.v4.view.ViewPager.onMeasure(SourceFile:1545)
    at com.snapchat.android.ui.viewpager.SnapchatViewPager.onMeasure(SourceFile:109)
    at android.view.View.measure(View.java:16558)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at android.view.View.measure(View.java:16558)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at android.view.View.measure(View.java:16558)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at android.view.View.measure(View.java:16558)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at android.view.View.measure(View.java:16558)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)
    at android.view.View.measure(View.java:16558)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1923)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1120)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1302)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1007)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5677)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
    at android.view.Choreographer.doCallbacks(Choreographer.java:574)
    at android.view.Choreographer.doFrame(Choreographer.java:544)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5021)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
    at dalvik.system.NativeStart.main(Native Method)

Your Environment

marzika commented 7 years ago

Fixed in https://github.com/marzika/Snapprefs/commit/bfaf407ce0ace180bbfcb8f90030921b6db3cb4a