Android——TV真机调试apk(android:sharedUserId="android.uid.system")

        当需要调试的apk 的AndroidManifest.xml中有使用  android:sharedUserId="android.uid.system" ,表示此apk和系统拥有相同的uid,可以共享系统资源,可以加入同一进程中。但是要使用eclipse编译adb安装调试安装 肯定会报错,如下:

Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
Please check logcat output for more details.
Launch canceled!

 

 

关于android的签名机制,可以参考Android——编译release版签名系统。

因为eclipse生成的apk签名与system不同,android系统规定使用相同uid的必须拥有相同的签名。

        我所使用的方法是写一个脚本,在eclipse生成apk之后给这个apk重签名,然后再launch安装。


      step 1:配置签名环境

       拷贝 源码 /build/target/product/security/下的  platform.pk8 platform.x509.pemout/host/linux-x86/framework

out/host/linux-x86/framework下执行:


java -jar signapk.jar platform.x509.pem platform.pk8 $sourceapk $apkname

$sourceapk为需要签名的apk路径,$apkname为签名成功之后的apk。


      step 2:调试配置

最好写一个shell脚本,执行上面的操作,在eclipse中做如下设置:

      1):编译直接生成apk
Android——TV真机调试apk(android:sharedUserId=


去掉 Skip packaging and dexing until export or launch.....

   2):配置eclipse external tool

          RUN——>External Tools——>External Tools Configurations  


Android——TV真机调试apk(android:sharedUserId=

new 一个program 选择写好的 signed 脚本

再在 window——>preferences——>General——>Key  配置快捷键 

F10 作为 clean-bulid   F11作为external tool  F12作为run debug 。

至此 OK~~

 

撰写不易,转载请注明出处http://blog.csdn.net/jscese/article/details/12184513#comments


你可能感兴趣的:(【Android,—,应用】)