Android进阶-apk系统签名

Android进阶-apk系统签名一、来源有时候我们开发一个apk需要系统权限,于是我们便会在apk的AndroidManifest.xml中添加如下属性:android:sharedUserId="android.uid.system"这个时候我们去安装apk,会提示:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE这个时候就是需要给apk一个系统签名。…

大家好,又见面了,我是你们的朋友全栈君。

一、来源

有时候我们开发一个apk需要系统权限,于是我们便会在apk的AndroidManifest.xml中添加如下属性:

这里写图片描述

android:sharedUserId="android.uid.system"

这个时候我们去安装apk,会提示:
这里写图片描述

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

这个时候就是需要给apk一个系统签名。

二、如何给apk进行系统签名

1.找到源码目录签名文件和签名工具

签名文件
build\target\product\security

这里写图片描述

签名工具
out/host/linux-x86/framework/signapk.jar

这里写图片描述

2.将签名文件和签名工具、签名apk放置同一目录,定位到该目录,使用如下命令:

java -jar signapk.jar platform.x509.pem platform.pk8 unsign.apk signed.apk

signed.apk就是生成已经拥有系统签名的apk


除了直接使用signapk.jar签名外,还可以将签名文件生成keystore文件,然后给apk进行签名。
定位到签名文件和apk目录,然后输入如下命令:
1.

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt

openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey

这里会输入密码和确认密码,密码是android
Enter Export Password:
Verifying – Enter Export Password:

keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey

最后和eclipse或者as签名文件路径关联即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152001.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ▲ 实现一个简单的快递时间轴效果

    ▲ 实现一个简单的快递时间轴效果

  • ANDROID自己定义视图——onLayout源代码 流程 思路具体解释[通俗易懂]

    ANDROID自己定义视图——onLayout源代码 流程 思路具体解释

  • [900]mysql字符串数字互转

    [900]mysql字符串数字互转字符串转数字最简单的方式就是直接在字符串后面+0,就相当于直接把字符串转为数字类型了,下面可以看一下具体的操作,可以看到通过+0操作,成功将两个字符串转化为了数字,并得到了相加后的结果。SELECT’123’+0+’123′;CAST()函数转化为整数使用CAST()函数,使用方式为CAST(valueAStype);,下面可以看一下具体的操作例子,通过如下sql语句查看结果:SELECTCAST(‘5.45’ASSIGNED);可以看到结果直接将字符串’5.45’转为了

  • 基于ssm酒店管理系统的毕业设计_酒店管理系统

    基于ssm酒店管理系统的毕业设计_酒店管理系统开发工具(eclipse/idea):eclipse4.5/4.8或者idea2018,jdk1.8数据库:mysql功能模块:登录界面可以选择普通账号登录,酒店管理员登录和系统管理员登录。普通账号注册功能:注册时需填写用户名、密码、姓名、性别、邮箱等个人信息登录功能:登录已经注册过的账号,没注册的无法登录忘记密码功能:登录时忘记密码可通过填写姓名,邮箱查询密码。预订酒店:可以选择预订众多酒店其中的一个酒店的一个房间,可以选择日期住宿管理:可以看到自己是否预订成功,预订成功则有

  • linux将一个文件夹的内容复制到另一个文件夹_linux复制文件夹命令

    linux将一个文件夹的内容复制到另一个文件夹_linux复制文件夹命令1.前言本文主要讲解Linux系统如何使用命令行工具把文件复制到另一个文件夹或者目录。2.cp命令的选项和功能copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。语法:cp[选项]源文件或目录目标文件或目录说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。该命令的各选项含义如下:-a该选项通常在拷贝目录…

  • wptx64能卸载吗_Win10如何卸载应用?Win10内置应用卸载方法

    wptx64能卸载吗_Win10如何卸载应用?Win10内置应用卸载方法Win10如何卸载应用?Win10默认预装集成了很多应用,这是大多数用户都了解的共识,从个人角度上来看,其他还是很好看的,如果真的需要使用以下Win10内置应用卸载方法来处理,可能会让你失望的,毕竟TA们占用的资源并不多。Win10内置应用卸载方法:一、手动卸载法(针对可卸载的):1、卸载Win10应用最简单的方式就是在“开始”菜单上找到这些内置应用的动态磁铁,然后鼠标右击直接点击卸载即可。当…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号