參考文獻
http://blog.csdn.net/stonecao/article/details/6460116
http://fanwei51880.blog.163.com/blog/static/3240674020115201252504/
http://www.coderanch.com/t/478455/Android/Mobile/Failure-INSTALL-FAILED-ALREADY-EXISTS
有時候別人給的對於你來說不一定是正確答案,但是卻能給你提供走向真理的方向。
1.首先匯入源碼(看我前一篇部落格)。
2.運行安裝,但是由於Settings存在,一直抱這個錯。我擦。
[2011-08-07 16:15:57 - Settings] Re-installation failed due to different application signatures.
[2011-08-07 16:15:57 - Settings] You must perform a full uninstall of the application. WARNING: This will remove the application data!
[2011-08-07 16:15:57 - Settings] Please execute 'adb uninstall com.android.settings' in a shell.
[2011-08-07 16:15:57 - Settings] Launch canceled!
照著運行adb uninstall
com.android.settings 不管用,進入system/app刪除Settings.apk也不管用,檔案系統唯讀,網上各種方法嘗試不行。
那我就換另外一種思路。我改簽名,只要簽名一致,那麼應該可以覆蓋,平時我們也不用直接卸載不就可以裝了麼。(我們自己編譯的app跟android內建的簽名肯定不一樣)
那麼需要我們把簽名搞定。這就需要下面步驟。
3. F:\workspace\Settings>java
-jar signapk.jar platform.x509.pem platform.pk8 ../Settings/bin/Settings.apk output/Settings.apk(最後把重新簽名的apk放到別的目錄,防止eclipse自動編譯apk覆蓋你辛苦弄過簽名的apk)
(但是這些檔案需要編譯源碼獲得,(SDK中我沒有找到),具體的位置如下)
檔案位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等簽名檔案,對應不同的許可權。
signapk.jar:由/platform/build/tools/signapk/編譯產出,可以在/out/host/linux-x86/framework/中找到。
4.adb install Settings.apk 告訴我Failure [INSTALL_FAILED_ALREADY_EXISTS] , 傷不起。。。後來查資料 看到有人adb install -r Settings.apk這麼弄(-r 代表reinstall),但是對他沒成功,對我就成功。。
大體步驟就這樣。多試試,多查資料。good luck!
其實上面這步確切的說不對,我雖然用簽名騙過android,但是卸載的時候卸載的是我剛裝上去的,並不是系統內建的
最恰當的方法是製作system.img時把自己要開發應用對應的apk給刪除 然後再做img檔案
參見http://source.android.com/source/using-eclipse.html
部落格已搬到http://marspring.mobi