天天看點

設定 系統軟體

引用

此問題今天已找到解決辦法,其實前段時間應該也是找到了,但因為資源的問題引起應用崩潰未找到原因一直以為是通路email資料庫造成的原因,現在資源問題解決了利用以前的辦法确實可以通路到了。 

導緻錯誤的原因如下: 

因為Android本身自帶的email應用的保護級别很高,是android:protectionLevel="signatureOrSystem",從android sdk自帶文檔了解到此種權限保護級别需要system本身鏡像應用或者是同system鏡像具有相同的簽名應用才可以通路,是以一般的第三方應用即使添加了permission也還是會報錯的。 

解決方法:(生成system.img) 

1 将自己的應用方到android源代碼的packages/apps/目錄下,添加Android.mk檔案 

2 在應用程式的AndroidManifest.xml中的manifest節點中加入android:sharedUserId="android.uid.system"這個屬性。 

3 修改Android.mk檔案,加入LOCAL_CERTIFICATE := platform這一行 

4 使用mm指令來編譯,生成的apk就有同system一樣的權限了。 

5 在android根目錄下用make snod重新生成system.img 

6 啟動emulator運作下應用看看是否好了。 

由于我這裡的email資料庫沒有任何資訊,我隻好打出來columns來看,和我期望讀取的一樣。 

網上還有另外一種方法,但我用signapk報錯了是以也就不介紹了,等解決好了再繼續介紹。 

困擾了好久的問題終于解決了希望能對大家都有幫助。 

繼續閱讀