閱讀788 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go C# Socket 線程
  下一篇:go SQL Server DATEADD() 函數