2016-09-15 2 views
2

Ist es möglich, Xposed-Module automatisch zu aktivieren, anstatt sie in der Xposed GUI zu aktivieren? Ist der aktivierte Status der Module irgendwo leicht zugänglich (auf einem gerooteten Gerät) ...?Kann Xposed Modul voraktiviert werden, ohne es manuell über die GUI zu aktivieren?

+1

Sie es mit Root-Zugriff erreichen könnte, aber Sie müssten zuerst Root-Zugriff erhalten, so dass es ist kein wirklicher Vorteil für diese Route. Dies ist eine Sicherheitsfunktion. Aus demselben Grund müssen Sie beim Öffnen einer APK-Datei manuell auf "Installieren" klicken. –

+0

Das ist in Ordnung für mich. Ich habe Root-Zugriff auf die verschiedenen Geräte, auf denen die Xposed-Module automatisch aktiviert werden sollen. Wie würde ich vorgehen - weißt du das? – JohnyTex

+1

Sie können die Datei 'conf/modules.list' im Xposed Installer-Datenverzeichnis ändern (siehe [hier] (https://github.com/rovo89/XposedBridge/blob/fb9e5f5a95d55cf6c35bec431360b574f1b8472d/app/src/main/java/de /robv/android/xposed/XposedInit.java#L343) für den Quellcode). Beachten Sie, dass Sie das Gerät danach noch neu starten müssen. –

Antwort

2

Sie können dies erreichen, indem Sie die Datei conf/modules.list im Xposed Installer-Datenverzeichnis ändern. Fügen Sie einfach den Pfad Ihrer APK-Datei zur Liste hinzu.

Sie sollten auch die Datei shared_prefs/enabled_modules.xml ändern, damit Ihre Änderung in Xposed Installer widergespiegelt wird (andernfalls wird das Modul aktiviert, aber in Xposed Installer als deaktiviert angezeigt).

Das Gerät muss nach der Änderung neu gestartet werden.

Beachten Sie, dass dies Root-Zugriff erfordert, da sich die Datei im internen Datenverzeichnis einer anderen App befindet. Ich empfehle, stark nur die normale Art und Weise und die Xposed Installer App zu öffnen, und lassen Sie den Benutzer das Modul ermöglichen, sich:

public static boolean startXposedActivity(Context context) { 
    Intent intent = new Intent("de.robv.android.xposed.installer.OPEN_SECTION"); 
    intent.putExtra("section", "modules"); 
    try { 
     context.startActivity(intent); 
     return true; 
    } catch (ActivityNotFoundException e) { 
     return false; 
    } 
} 
+0

Es funktioniert und ich verstehe die Risiken. Ich arbeite in einer kontrollierten Umgebung. In conf/modules.list; die apks sind eher aufgelistet als die paketnamen, was für mich ärgerlich ist, weil android -1.apk -2.apk anhängt und so weiter. Kennen Sie die Gründe für dieses Schema? Ich möchte die APKs noch vor der Installation aktivieren, damit ich den Namen noch nicht kennen kann. Ist es besser, die apk nach/data/app zu kopieren? Was macht pm installieren apk wirklich anders als das überhaupt? – JohnyTex

+1

@JohnyTex Ich glaube, es ist so, dass Android Apps während des Betriebs aktualisieren kann. Es wird zwischen -1 und -2 wechseln und nach dem Update wird der "aktive Pfad" vertauscht und die alte Version gelöscht. Sie könnten es wahrscheinlich immer als -1 installieren, indem Sie zuerst die App deinstallieren (aber Sie würden Ihre App-Daten verlieren). –

+0

OK, also glauben Sie nicht, dass es jemals -3 oder -4 und so weiter sein könnte? Ich dachte, es könnte etwas mit Multidex zu tun haben oder so, aber du glaubst nicht? – JohnyTex

Verwandte Themen