解决方法有如下两种:
第一种
如果你reposync了android的整个源码,那么可以直接把你的app放到/packages/apps下面去mm,不过要记得在Android.mk中增加LOCAL_CERTIFICATE属性。
这个属性具体有三个值:
系统中所有使用android.uid.system作为共享UID的APK,都会首先在manifest节点中增加android:sharedUserId=“android.uid.system”,然后在Android.mk中增加LOCAL_CERTIFICATE:=platform。可以参见Settings等
系统中所有使用android.uid.shared作为共享UID的APK,都会在manifest节点中增加android:sharedUserId=“android.uid.shared”,然后在Android.mk中增加LOCAL_CERTIFICATE:=shared。可以参见Launcher等
系统中所有使用android.media作为共享UID的APK,都会在manifest节点中增加android:sharedUserId=“android.media”,然后在Android.mk中增加LOCAL_CERTIFICATE:=media。可以参见Gallery等。
第二种
当然,毕竟不是每个人都有机会,或者有必要下载整个源码的。简单地,当你用IDE编出apk之后,可以去/build/tools/signapk/找到signapk.jar文件;再去/build/target/product/security/里找到platform.pk8、platform.x509.pem这两个文件。
把它们连同你的apk扔进一个文件夹,然后cd到该文件夹下执行java-jarsignapk.jarplatform.x509.pemplatform.pk8Origin.apkSigned.apk,得到的Signed.apk就可以直接adbinstall了。