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