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

Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLEPlease 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


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

2):配置eclipse external tool

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


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


更多相关文章

  1. 开发Android应用的时候遇到的问题
  2. Android——编译release版签名系统
  3. 在Ubuntu上下载编译安装Android最新内核源代码
  4. Android启动脚本init.rc(2)
  5. Android反编译工具Apktool使用
  6. java/android 使用swig编译c/c++ 代码类型转换
  7. android 反编译
  8. Android(安卓)studio 获取应用签名
  9. android下载编译以及文件系统提取总结

随机推荐

  1. Android中选择账户
  2. [Network]Android N Ethernet新IP获取机
  3. Android连接指定的wifi热点
  4. android 日期选择器自由天数内展示
  5. Android Framework 框架系列之 AlarmMana
  6. Android 音频源码目录
  7. android 中的二维码生成与去除白边
  8. context 的理解
  9. Android 使用Vitamio实现播放视频(一)
  10. 使用主题Theme实现Android沉浸式状态栏