2016-09-15 57 views
2

是否可以自動激活Xposed-modules,而不是檢查它們是否在Xposed GUI中處於活動狀態?模塊的啓用狀態是否存儲在易於訪問的位置(在根設備上)...?可以預先激活Xposed模塊,而無需通過GUI手動激活它們?

+1

你可以以root權限實現它,但你需要首先獲得root權限,所以有對這條路線沒有任何真正的好處。這是一項安全功能,這與您在打開APK文件時必須手動點擊「安裝」的原因相同。 –

+0

對我來說這沒問題。我有多個設備上的root訪問權限,我希望Xposed模塊可​​以自動激活。我該怎麼去 - 你知道嗎? – JohnyTex

+1

您可以修改Xposed安裝程序數據目錄中的conf/modules.list文件(請參見[here](https://github.com/rovo89/XposedBridge/blob/fb9e5f5a95d55cf6c35bec431360b574f1b8472d/app/src/main/java/de /robv/android/xposed/XposedInit.java#L343)作爲源代碼)。請注意,您以後仍然需要重新啓動設備。 –

回答

2

您可以通過修改Xposed安裝程序數據目錄中的conf/modules.list文件來實現此目的,只需將APK文件的路徑添加到列表即可。

您還應該修改shared_prefs/enabled_modules.xml文件,以便您的更改反映在Xposed安裝程序中(否則,該模塊將被啓用,但會在Xposed安裝程序中顯示爲禁用)。

設備需要在更改後重新啓動。

請注意,這需要root訪問權限,因爲該文件位於另一個應用程序的內部數據目錄中。我強烈建議只是要以正常的方式和打開Xposed安裝應用程序,並讓用戶啓用該模塊本身:

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

它的工作原理和我瞭解涉及的風險。我在一個受控制的環境中工作。但是,在conf/modules.list;列出的是apks,而不是那些令人討厭的軟件包名稱,因爲android會附加-1.apk -2.apk等等。你知道這個計劃背後的推理嗎?即使在安裝之前,我也不想激活apks,所以我現在還不知道名稱。將apk複製到/ data/app會更好嗎?下午安裝APK真的做了什麼以外的呢? – JohnyTex

+1

@JohnyTex我相信這樣Android可以在運行時更新應用程序。它將在-1和-2之間交替,更新完成後它將交換「活動路徑」並刪除舊版本。您可能會首先卸載該應用程序,然後每次都將其安裝爲-1(但會丟失應用程序數據)。 –

+0

好吧,所以你不相信它可能會是-3或-4等等?我認爲這可能與multidex或某事有關,但你不相信? – JohnyTex