當剛接觸android自帶的一個模塊時,如何去熟悉它?相信不少人第一步都會嘗試著去了解其內(nèi)容的調(diào)用流程,而此時若能夠單步調(diào)試則顯得非常重要了,于是有了文章標題所說的嘗試。
作者這里要導入的是Settings文件夾,基于android 4.0(MTK6515所用):
打開eclipse,F(xiàn)ile > New > Project > Android Project > Create project from existing source,選擇第1步所拷貝的Settings文件夾。
執(zhí)行完第2步會出現(xiàn)很多諸如"com.android.internal.R cannot be resolved"的錯誤,這主要是由于framework部分資源找不到,這時我們可以手動添加,當然前提是你要用整個工程的代碼且已經(jīng)編譯。
在eclipse中右鍵工程名Settings,選擇 Build Path > Configure Build Path > Libraries > Add External JARS,然后選擇以下路徑的jars:
1)out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
--這個主要是android的框架類
2)out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar
--這個包含com.android.common.Search這個類
3)out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
--這個包包含dalvik.system.VMRuntime這個類
4)out/target/common/obj/JAVA_LIBRARIES/mediatek-framework_intermediates/classes.jar
--這個主要是mediatek的框架類
這樣基本上就能解決大部分framework資源找不到的問題
如這里導入:
out/target/common/obj/APPS/Settings_intermediates/classes.jar
打開 AndroidManifest.xml,找到 android:sharedUserId并去除之:
android:sharedUserId="android.uid.system"
否則在運行時會提示如下錯誤:
INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
參考資料: