2015-04-07 22 views
2

Xposed模塊是否有一個API來從所述殼(使用ADB)啓用的Android一個Xposed模塊,而不是通過設備的UI。啓用從殼

當我們需要在乾淨的測試模擬器上安裝我們的模塊時,這經常是自動化的麻煩。這是我們手動完成的唯一步驟。

一個簡單的谷歌搜索+概述XPosed文件沒有取得任何值得的。

回答

3

正如你已經知道,這是方法不受歡迎的最終用戶,但對於測試,你必須呼應的apk到Xposed配置文件的路徑:

前棒棒堂:

adb shell "echo '/data/app/com.xyz.example-1.apk' >> /data/data/de.robv.android.xposed.installer/conf/modules.list" 

棒棒糖和更新:

adb shell "echo '/data/app/com.xyz.example-1 OR -2/base.apk' >> /data/data/de.robv.android.xposed.installer/conf/modules.list" 

對於你需要有你的模擬器支持亞行根這些命令,鍵入

adb root 

進入命令行。如果您的模擬器不支持根目錄/不安全的adbd,您還可以在回顯之前添加一個su -c以獲取根權限。

編輯:找哪個號碼在目錄名中使用這個@brendan建議什麼的最簡單的方法。

+0

對我不起作用。將模塊添加到modules.list文件後,模塊仍未啓用 – eladidan

+1

您是否重新啓動然後再次檢查文件?還要確定它實際上是寫入文件的。也許你甚至需要重啓兩次? – Maxr1998

+0

@eladidan,你已經試過了嗎?你有沒有得到它的工作? – Maxr1998

1

這個工作對我的奇巧:

(1)更新shared_pres xml文件:

如果你看一下/data/data/de.robv.android.xposed.installer/shared_prefs/目錄。您將看到一個enabled_modules.xml文件。

在我的情況下,我只使用一個模塊,所以我只是覆蓋文件。如果您有多個模塊,您可能希望進行編輯/更新。

我想有一個本地enabled_modules.xml文件,該文件是這樣的:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<map> 
    <int name="com.companyname.xposedmodule" value="1" /> 
</map> 

...其中com.companyname.xposedmodule是你的模塊的名稱。

然後建立後,你可以執行簡單:

adb push enabled_modules.xml /data/data/de.robv.android.xposed.installer/shared_prefs/

(2)更新modules.list配置文件:

您還需要做些什麼@ Maxr1998建議。我用這種方式編寫了腳本:

adb shell "[ -f /data/app/com.companyname.xposedmodule-1.apk ] && echo '/data/app/com.companyname.xposedmodule-1.apk' >> /data/data/de.robv.android.xposed.installer/conf/modules.list 
adb shell "[ -f /data/app/com.companyname.xposedmodule-2.apk ] && echo '/data/app/com.companyname.xposedmodule-2.apk' >> /data/data/de.robv.android.xposed.installer/conf/modules.list