android 2.3.3编译 安装 Settings应用

参考文献
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


你可能感兴趣的:(android 2.3.3编译 安装 Settings应用)