2015-09-18 3 views
2

У меня проблема с простым проектом, трансляция, которая отправляет сообщение, а получатель - тост. Он работает, но когда я добавляю класс Xposed, возникает следующая ошибка.java.lang.RuntimeException: Не удалось создать экземпляр приемника java.lang.ClassNotFoundException: не нашел класс на пути: DexPathList

Process: com.nul00.de.ro.android.xposed.temar, PID: 5120 
 
    java.lang.RuntimeException: Unable to instantiate receiver com.nul00.de.ro.android.xposed.temar.Temar: java.lang.ClassNotFoundException: Didn't find class "com.nul00.de.ro.android.xposed.temar.Temar" on path: DexPathList[[zip file "/data/app/com.nul00.de.ro.android.xposed.temar-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
 
      at android.app.ActivityThread.handleReceiver(ActivityThread.java:2590) 
 
      at android.app.ActivityThread.access$1700(ActivityThread.java:151) 
 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380) 
 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
 
      at android.os.Looper.loop(Looper.java:135) 
 
      at android.app.ActivityThread.main(ActivityThread.java:5254) 
 
      at java.lang.reflect.Method.invoke(Native Method) 
 
      at java.lang.reflect.Method.invoke(Method.java:372) 
 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
 
      at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117) 
 
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.nul00.de.ro.android.xposed.temar.Temar" on path: DexPathList[[zip file "/data/app/com.nul00.de.ro.android.xposed.temar-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
 
      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
 
      at android.app.ActivityThread.handleReceiver(ActivityThread.java:2585) 
 
            at android.app.ActivityThread.access$1700(ActivityThread.java:151) 
 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380) 
 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
 
            at android.os.Looper.loop(Looper.java:135) 
 
            at android.app.ActivityThread.main(ActivityThread.java:5254) 
 
            at java.lang.reflect.Method.invoke(Native Method) 
 
            at java.lang.reflect.Method.invoke(Method.java:372) 
 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
 
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117) 
 
    Suppressed: java.lang.NoClassDefFoundError: com.nul00.de.ro.android.xposed.temar.Temar 
 
      at dalvik.system.DexFile.defineClassNative(Native Method) 
 
      at dalvik.system.DexFile.defineClass(DexFile.java:226) 
 
      at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) 
 
      at dalvik.system.DexPathList.findClass(DexPathList.java:321) 
 
      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) 
 
      ... 13 more 
 
    Suppressed: java.lang.ClassNotFoundException: com.nul00.de.ro.android.xposed.temar.Temar 
 
      at java.lang.Class.classForName(Native Method) 
 
      at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
 
      at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
 
      ... 12 more 
 
    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

<?xml version="1.0" encoding="utf-8"?> 
 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
 
    package="com.nul00.de.ro.android.xposed.temar" > 
 

 
    <application 
 
     android:allowBackup="true" 
 
     android:icon="@mipmap/ic_launcher" 
 
     android:label="@string/app_name" 
 
     android:theme="@style/AppTheme" > 
 
     <receiver 
 
      android:name=".Temar" 
 
      android:enabled="true" 
 
      android:exported="true" > 
 
      <intent-filter > 
 
       <action android:name="com.nul00.de.ro.android.xposed.enviar"> 
 

 
       </action> 
 
      </intent-filter> 
 
     </receiver> 
 
     <meta-data 
 
      android:name="xposedmodule" 
 
      android:value="true" /> 
 
     <meta-data 
 
      android:name="xposeddescription" 
 
      android:value="" /> 
 
     <meta-data 
 
      android:name="xposedminversion" 
 
      android:value="30" /> 
 

 
    </application> 
 

 
</manifest> 
 

 
      
 
      
 
      
 
public class Temar extends BroadcastReceiver implements IXposedHookInitPackageResources { 
 

 
    @Override 
 
    public void onReceive(Context context, Intent intent) { 
 
     Toast.makeText(context, "broadcast", Toast.LENGTH_LONG).show(); 
 

 
    } 
 

 

 

 
    @Override 
 
    public void handleInitPackageResources(InitPackageResourcesParam resparam) throws Throwable {} 
 
    } 
 
      
 
      
 
//SendBroadcast 
 

 
public void enviarcolor(View view){ 
 

 
    Intent i = new Intent(); 
 
    i.setAction("com.nul00.de.ro.android.xposed.enviar"); 
 
    i.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); 
 
    i.putExtra("colores", "#33b2e2"); 
 
    sendBroadcast(i); 
 
}   

широковещательные работы. но только когда имплантируется «реализует IXposedHookInitPackageResources», программа выполняет FC. Конструкция модуля хороша, потому что я уже проверил.

Я видел, что вы можете решить ввести свойства проекта в eclipse, но по мере того, как я разработал студию Android, я понятия не имею, как это сделать, если кто-нибудь знает это решение или вы можете посоветовать мне, как получить доступ к свойствам, чтобы добавить библиотеки, я буду благодарен

+0

«Очистить» и «Синхронизировать проект с помощью файлов с колышками». Затем запустите свой код. – Tauqir

+0

Я уже делал и не работал –

ответ

0

Ваше имя пакета, в котором вы определили, отличается от пакета в манифесте. Скопируйте основное действие в соответствующий пакет, очистите проект и запустите приложение. Упомянутая деятельность

<activity 
     android:name="package.Tanver" 
     > </activity> 
+0

Я тоже, но все еще не работает. Я добавляю код –