AS版本:Android studio 3.2.1

app-debug.apk 和 app-release.apk 的核心区别在AndroidManifest.xml 。

生成app-debug.apk时,编译器会自动在该apk的AndroidManifest.xml中添加 android:debuggable="true"
生成app-release.apk时,编译器会自动在该apk的AndroidManifest.xml中去掉 android:debuggable

make project(ctrl+F9) 生成app-debug.apk
run app (shift + F10)生成app-debug.apk

 

adb install Y:\test\debug\app-debug.apk
Y:\test\debug\app-debug.apk: 1 file pushed. 2.0 MB/s (9533549 bytes in 4.548s)
        pkg: /data/local/tmp/app-debug.apk
Failure [INSTALL_FAILED_TEST_ONLY]
 

adb install Y:\test\debug\app-release.apk
Y:\test\debug\app-release.apk: 1 file pushed. 2.0 MB/s (7958040 bytes in 3.748s)
        pkg: /data/local/tmp/app-release.apk
Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]
 

adb install Y:\test\debug\pt2259_debug.apk   (用platform签过名)
Y:\test\debug\pt2259_debug.apk: 1 file pushed. 2.0 MB/s (8906761 bytes in 4.158s)
        pkg: /data/local/tmp/pt2259_debug.apk
Failure [INSTALL_FAILED_TEST_ONLY]
 

adb install Y:\test\debug\pt2259_release.apk     (用platform签过名)
Y:\test\debug\pt2259_release.apk: 1 file pushed. 2.0 MB/s (7962337 bytes in 3.757s)
        pkg: /data/local/tmp/pt2259_release.apk
Success
 

 

 总结:

1. app-debug.apk只能通过run app运行到目标设备,如果把这个apk通过adb install安装到目标设备,则报错:INSTALL_FAILED_TEST_ONLY

2. adb install只能安装release版apk

3. 系统权限签名:
签名工具存放在系统源码的目录  out/host/linux-x86/framework/signapk.jar
签名文件存放在系统源码的目录  build/target/product/security/
签名方法:java  -jar  signapk.jar  platform.x509.pem  platform.pk8  old.apk  new.apk

4. INSTALL_FAILED_SHARED_USER_INCOMPATIBLE报错是因为没有系统权限签名,即没有用platform.pk8和platform.x509.pem进行权限签名。

5.  android studio中如下签名不是权限签名,是java包名唯一性签名,即为了防止他人反编译用同样包名篡改apk。简而言之,没有同样的.jks签名文件,则同样包名的apk无法覆盖安装同包名的apk。

 

 

更多相关文章

  1. Android(安卓)项目打包成apk文件
  2. Android存储挖坑记 (转)
  3. Android(安卓)android.uid.shared MK编译或eclipse编译后签名
  4. Android控制手电筒代码,简单易用,不需要任何权限
  5. android 权限大全
  6. 使用adb签名并安装Android程序
  7. android 驱动文件权限设置
  8. android apk 签名信息 相关
  9. 【JNI】 Android(安卓)JNI入门实例(Windows+Cygwin+Eclipse)

随机推荐

  1. [置顶] Android常用功能代码
  2. android空指针的bug
  3. android 下的webview 设置多点触控放大
  4. Android Log Analysis
  5. Android(安卓)桌面悬浮框
  6. 调试 android jni 程序
  7. android重启APP
  8. Android GoogleMap Overlay (图层标记)
  9. android ImageUtils 图片处理工具类
  10. Android SpannableString 自定义圆角背景