作Home程序的時候,因爲須要提供時間日期的設置功能,因此須要修改系統時間。修改時間的代碼很簡單,就那麼一句,可是要讓它生效可就不那麼容易了。
修改系統時間的條件是,你的程序的user id必須跟system同樣,也就是說,須要system權限。
怎樣達到這個條件呢?
Android提供了sharedUserId來設置程序歸屬哪一個user id,咱們在程序的manifest文件裏面加上以下屬性 java
這樣還不行,由於這樣編譯出來的apk安裝不了。還須要簽名。 android
簽名須要用到的文件是源碼中的build\target\product\security目錄下的platform.pk8和platform.x509.pem兩個文件。而後使用\prebuilts\sdk\tools\lib\signapk.jar來簽名。這三個文件打包放到附件了。 ui
在cmd下面,運行 spa
a.apk是待簽名的apk,a_signed.apk是簽名後的apk。這樣,若是你的代碼裏面有用到須要platform權限的功能,就能夠暢通無阻了。 orm
固然,可能不一樣的系統platform.pk8和platform.x509.pem文件不同,可是我手裏的三個平板電腦都是用這兩個文件簽名的,運行正常。 blog