2013-12-22 35 views
3

我有任務可以修改Android的薑餅發射器(2.3)。我想下載啓動器的源代碼並添加一些功能。我已經在這裏找到來源:Android 2.3的啓動源代碼後,很多錯誤的導入到我的工作區

android Gingerbread launcher sources

我下載這一點,並導入到工作區中的。因此,我得到許多編譯錯誤(一些類丟失,實例變量丟失等)。爲什麼?我的意思是爲什麼不編譯?我應該怎樣做才能編譯它?

P.S.順便說一下,當導入項目時,根據項目設置使用的平臺不是2.3,所以我必須手動將其設置爲2.3。但是,許多錯誤仍然存​​在。

回答

4

要將AOSP應用程序轉換成一個獨立的SDK應用程序,你需要找到所有的「類和變量在SDK中不存在」,並刪除/替換對它們的引用。最簡單的方法是刪除對它們的引用,如果應用程序仍然以減少的功能運行。對於內部資源的引用,您可以簡單地將它們複製到您的項目中,並修改R值以指向您的本地副本。歡迎您檢查「SDK中沒有的類和變量」,並確定您也可以複製它們(將它們重構爲新包),在這種情況下,您會更新項目以引用複製和重構的類。

+0

在何處可以找到所謂的「類和變量在SDK中不存在」?我試圖谷歌它,但沒有結果。 –

+0

這可能有幫助,請查看http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/ –

2

看一看here

正是從ICS,而不是GB的的launcher2,但他們都非常相似。
出自百科:注意,它不是完全免費的錯誤,並添加小部件會崩潰的應用程序(因爲它使用的系統級權限也許如果你通過超級用戶安裝它會工作)。

這裏是我不得不做的名單,我記得做:

有許多像setFastXXX方法(例如,setFastAlpha())未提供給我們。將它們更改爲setXXX(例如,'setAlpha()`)爲我工作。

有些東西它通過getSystemService()提供給我們直接在代碼初始化,像振動器類的用法。這些需要更改爲使用getSystemService()

相關問題