2.添加Launcher2使用的包文件。
由于在Android源碼中,很多方法、成員、類、包都被打上@hide標簽,這些成員在SDK中沒有公開,以至于在編譯Launcher源碼時最常遇到的類android.view.View的成員mScrollX無法訪問。因此首先需要下載Android的代碼并且編譯好,因為要用到一些編譯完成的class.jar文件
這里我們用到的有:(生成的包的路徑為out/target/common/obj/JAVA_LIBRARIES)
1)framework_intermediates/classes.jar :這個主要是android的框架類
2)android-common_intermediates/classes.jar :這個包含com.android.common.Search這個類
3)core_intermediates/classes.jar :這個包包含dalvik.system.VMRuntime這個類
這些都是需要導入到工程里面的包,這個可以通過配置工程的Build Path來加入,
右鍵工程名稱然后選擇Build Path->Configure Build Path...->Libraries->Add Library->User Library->User Libraries...->New...
然后將上面3個依賴的包一個個的加入進來,分別命名為android_framework,android_common,android_core.
將3個包加入進來后,然后還需要將它們放到android2.3.3這個包的前面,可以在Build Path配置中選擇Order and Export
這時候就會發(fā)現(xiàn)Launcher2工程以及沒有錯誤了,也可以編譯了。
3.修改Launcher2包名稱,在模擬器上運行更改后的Launcher2.
改掉原始包的名字,切記使用eclipse的重命名機制(在包名上按F2可修改),不僅是類的引用,還有很多xml文件內(nèi)部的引用(如import com.android.launcher3.R;),只要重命名不錯,這些都可以一次性搞定的。
New name填寫你自己的包名,把下面四項全部勾選。點擊“Preview”
特別注意:你的項目最好不要放在中文路徑下,不然rename時會出錯,我就是開始放在中文路徑下出錯弄了很久才發(fā)現(xiàn)錯誤!
4.AndroidManifest.xml文件里面,找到這句話刪除掉。(android:sharedUserId="android.uid.shared")
這樣就大功告成了,我是用2.3的launcher來做實驗的,結果沒問題,運行成功