2016-05-04 5 views
0

Ich entwickle ein Xposed Modul, als eine Erweiterung von FatMinMins minminHide module es scheint auch wie eine gute dev Übung :) Das Problem ist, dass während des Hochfahrens, wenn ich das Xposed Log überprüfe ich bekomme die folgenden:Xposed Nicht mein Modul laden, ClassNotFoundException

5-04 17:06:44.305 I/Xposed (581): Loading modules from /data/app/xposed.sudocode.com.sudohide-1/base.apk 
05-04 17:06:44.325 I/Xposed (581): Loading class xposed.sudocode.com.sudohide.XposedMain 
05-04 17:06:44.326 E/Xposed (581): java.lang.ClassNotFoundException: Didn't find class "xposed.sudocode.com.sudohide.XposedMain" on path: DexPathList[[zip file "/data/app/xposed.sudocode.com.sudohide-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
05-04 17:06:44.326 E/Xposed (581):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
05-04 17:06:44.326 E/Xposed (581):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
05-04 17:06:44.326 E/Xposed (581):  at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
05-04 17:06:44.326 E/Xposed (581):  at de.robv.android.xposed.XposedBridge.loadModule(XposedBridge.java:497) 
05-04 17:06:44.326 E/Xposed (581):  at de.robv.android.xposed.XposedBridge.loadModules(XposedBridge.java:457) 
05-04 17:06:44.326 E/Xposed (581):  at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:122) 
05-04 17:06:44.326 E/Xposed (581):  Suppressed: java.lang.ClassNotFoundException: Didn't find class "xposed.sudocode.com.sudohide.XposedMain" on path: DexPathList[[zip file "/system/framework/XposedBridge.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
05-04 17:06:44.326 E/Xposed (581):   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
05-04 17:06:44.326 E/Xposed (581):   at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
05-04 17:06:44.326 E/Xposed (581):   at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
05-04 17:06:44.326 E/Xposed (581):   ... 4 more 
05-04 17:06:44.326 E/Xposed (581):   Suppressed: java.lang.ClassNotFoundException: xposed.sudocode.com.sudohide.XposedMain 
05-04 17:06:44.326 E/Xposed (581):    at java.lang.Class.classForName(Native Method) 
05-04 17:06:44.326 E/Xposed (581):    at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
05-04 17:06:44.326 E/Xposed (581):    at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
05-04 17:06:44.326 E/Xposed (581):    at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
05-04 17:06:44.326 E/Xposed (581):    ... 5 more 
05-04 17:06:44.326 E/Xposed (581):   Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

was bedeutet, dass Xposed mein Modul nicht in der Lage war richtig die folgenden

In der xposed_init-Datei zu laden ich habe:

xposed.sudocode.com.sudohide.XposedMain 

Ich habe auch die Xposed Brücke api in der Abhängigkeit:

dependencies { 
    provided files('libs/api-82.jar') 
    compile 'com.android.support:appcompat-v7:23.3.0' 
} 

Dieser Der Beginn meiner Klasse Java-Datei ist:

package xposed.sudocode.com.sudohide; 


import android.content.pm.ApplicationInfo; 
import android.content.pm.PackageInfo; 
import android.content.pm.ResolveInfo; 
import android.os.Binder; 

import java.util.ArrayList; 
import java.util.List; 

import de.robv.android.xposed.IXposedHookLoadPackage; 
import de.robv.android.xposed.IXposedHookZygoteInit; 
import de.robv.android.xposed.XC_MethodHook; 
import de.robv.android.xposed.XSharedPreferences; 
import de.robv.android.xposed.XposedBridge; 
import de.robv.android.xposed.XposedHelpers; 
import de.robv.android.xposed.callbacks.XC_LoadPackage; 

public class XposedMain implements IXposedHookZygoteInit, IXposedHookLoadPackage { 

Kann jemand geben Sie bitte jede Form von Beratung über das weitere Vorgehen, Ich habe versucht, nach einer Lösung zu suchen, konnte aber keine finden und fand auch nichts in der xposed Dokumentation

Danke!

Antwort

0

Versuchen Sie, xposed api jar außerhalb von libs dir (root von Ihrem Projekt, zum Beispiel) und beheben Sie grdle Config-Datei.

+0

Hallo danke für die Zeit, ich habe es versucht und leider hat es nicht funktioniert –

+0

Verwenden Sie proguard? – Daniel

+0

Ich bin mir ziemlich sicher, nein, aber wie überprüft man nur für den Fall? –

0

Das Problem gelöst! Das Problem war mit dem sofortigen Lauf auf Android Studio, es war die Installation der App in /data/local/tmp/ und xposed fand nicht die Klasse in diesem Pfad.

Jetzt schiebe ich die apk auf das Gerät und installieren von Speicher

5

deaktivieren Nur Instant Run

Datei -> Einstellungen -> Build, Ausführung, Deployment -> Instant Run

Ansonsten sind deine Klassen nicht direkt im APK enthalten, sondern über eine Stub-Applikation geladen, die Xposed nicht verarbeiten kann.