Android 係統應用Setting開發小結
最近由於工作關係需要對係統應用Setting進行二次開發,選擇的工具是eclipse,所以也可以看得出來,不是在源碼的環境下開發的。第一步自然是把Setting源碼導入到eclipse,這樣的話問題就出現了,會有很多錯誤。原因就是Setting屬於係統應用,而且它用到了很多係統級的api,這些api是隱藏的、不對外開放的(相對於一般應用來說)。那如果想要使程序運行起來,就必須手動導入相應的jar包, 這些jar包是係統編譯完成後生成的,而且jar包的順序也要對應好,先後有序,類似這樣就可以。而且版本不一樣,所需要jar包也有所差異,因此基於哪個版本的係統開發,就選擇相應版本的jar包。導入完後記得把project.properties版本號對上,然後clean一下就不會有錯誤了。另外如果你修改了AndroidManifest.xml文件,裏麵會有很多錯誤,沒關係clean。關於如何打入jar,可以參考下麵的 7、編譯係統包Settings這篇文章。


整體結構圖


Build Path示意圖
,導完之後開始運行一下程序,會出現無法安裝的情況。原因是和係統的衝突了,解決辦法就是刪除係統已經安裝好的Setting,方法是使用adb shell命令,可以參考下麵的:【安卓通用】android
adb shell 命令大全。但是運行完之後會發現,程序分辨率變低了,圖片、文字都放大模煳了。具體原因不清楚,但是可以確定的是如果在係統環境下編譯是不會有這個問題(eclipse有)。最後找到一個解決辦法,就是在AndroidManifest.xml文件中加入:
<supports-screens android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
這個就是用於適配大屏幕的(我做的是基於平板開發),但是為什麼要額外加上這段代碼呢?係統環境下編譯就不需要,不明覺厲。明白的朋友望告知。這樣一來程序就可以正常顯示了。

下麵是我在網上找的參考資料,可以看一下,但裏麵的實例教程中都或多或少存在一些問題。
一、參考資料
導入部分:
1、將packages/apps/下的app導入eclipse
2、在Eclipse+ADT中開發Android係統的內置應用
3、[2013.9.8網絡首發]導入Android4.2源碼裏的Gallery2和Camera模塊至Eclipse全過程
4、Android SystemUI (導入到Eclipse,可以正常運行)
5、把係統的Settings拉到另外目錄下,並導入eclipse中編譯運行
6、Windows下Eclipse Android源碼Settings模塊調試
7、編譯係統包Settings
8、Android Settings 導入eclipse(含有調試好的源代碼)
9、將packages/apps/下的app導入eclipse
10、使用內部(com.android.internal)和隱藏(@hide)API[第2部分,定製android.jar]
11、Android.mk簡單分析
編譯部分:
1、Android平台上如何讓應用程序獲得係統權限以及如何使用platform密鑰給apk簽名
2、Android應用程序永久獲取root權限方法
3、Android通過源碼編譯apk獲得係統權限
4、apk獲得Android係統權限的方法
5、Android如何通過shared_user_id獲取係統權限
6、android實現權限管理和簽名靜默卸載
7、錯誤 -- Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
8、安卓工具箱
9、安卓簽名工具SignApk.jar使用教程
10、eclipse源碼編譯的apk開發,使用係統簽名機製
11、WINDOWS下ECLIPSE ANDROID源碼SETTINGS模塊調試
13、Android簽名總結
14、【安卓通用】android
adb shell 命令大全
15、Android中的lcd_density設置
16、Eclipse中跟蹤調試Android源代碼
最後更新:2017-04-03 12:55:41
上一篇:
C# Socket 線程
下一篇:
SQL Server DATEADD() 函數
Oracle監聽器啟動出錯:本地計算機上的OracleOraDb10g_home1TNSListener服務啟動後又停止了解決方案
14篇大數據培訓類好文推薦!
【雲周刊】第139期:阿裏年會黑科技全揭秘:IoT手環、人臉識別驗票、大屏彈幕互動等“十八般武藝”輪番上陣
iOS是最安全的?蘋果iOS惡意軟件數量增速首次超過Android
黑客披露多款DSL調製解調器存後門
阿裏雲雙十一全球雲服務器5折大促,為您的企業出海添動力。不止是五折!!
android 懸浮窗口的拖動
Android DatePickerDialog and the DialogFragment
通過擴展改善ASP.NET MVC的驗證機製[實現篇]
Intel MIC架構下COI框架介紹