Android 系统签名打包方法

Android 系统签名打包方法方式一命令行生成(推荐):此方式不需要配置,步骤也不多。1、在应用程序manifest.xml文件根节点中加入属性:Android:sharedUserId=“android.uid.system”;2、在android系统目录build/target/product/security/拷贝系统签名文件:platform.x509.pem、platform.pk8;3、在out/host/linux-x86/framework目录下找到signapk.jar文件;4、把三个文件(plat

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

方式一 命令行生成(推荐)
此方式不需要配置,步骤也不多。

1、在应用程序manifest.xml文件根节点中加入属性:Android:sharedUserId=“android.uid.system”;

2、在android系统目录build/target/product/security/拷贝系统签名文件:platform.x509.pem、platform.pk8;

3、在out/host/linux-x86/framework目录下找到signapk.jar文件;

4、把三个文件(platform.x509.pem、platform.pk8、signapk.jar)放在一个文件夹下,再把需要系统签名的test.apk也放在该文件下。

5、window cmd 路径要在引导(cd)该文件夹下,利用签名工具signapk.jar修改应用程序签名:命令为:java -jar signapk.jar platform.x509.pem platform.pk8 test.apk testsign.apk

方式二 更改AS 打包配置:
此方式配置繁琐,但一劳永逸,适合频繁打包的场景
使用keytool-importkeypair工具
原理:
就是通过Android studio 直接给 apk 加上开发者签名(jks文件),使用 keytool-importkeypair 对jks文件进行系统签名,在出包的时候,直接使用带有系统签名的 jks 对 apk 进行签名,这样编译生成的 apk 文件就自带系统签名了

1、使用Android studio 生成你自己的 jks 文件,如下图;

在这里插入图片描述
如果,之前没有的就新建,点击Create New … 设置密码(易记,建议123456),如下图:

在这里插入图片描述

 然后Next – Finish

2、使用keytool-importkeypair对jks文件引入系统签名
把platform.x509.pem、platform.pk8和上一部生成的jks文件统一放到一个文件夹下,比如我的是放在工程目录的 signAPK目录下

在这里插入图片描述
将下载好的keytool-importkeypair配置一下,其实主要就是配置一下环境变量,不熟悉的可以阅读官方文档,然后使用下面这条命令(需要在linux下,用windows的可以去在linux下生成jks,然后复制出新的jks回原目录也可以)对jks文件引入系统签名:

 ./keytool-importkeypair -k [jks文件名] -p [jks的密码] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的别名]

例如我的对应的就是:
./keytool-importkeypair -k SignDemo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias SignDemo

运行完这条命令之后,我们就得到了有系统签名的jks。

keytool-importkeypair工具下载链接:https://github.com/getfatday/keytool-importkeypair

3、配置gradle(app)
在Android区域下(与defaultConfig同级)添加signingConfigs配置:
依次填写jks的路径,密码,别名等

apply plugin: ‘com.android.application’

android {

    compileSdkVersion 23
    buildToolsVersion “23.0.2”

    defaultConfig {

        applicationId “com.cxq.signdemo”
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName “1.0”
    }
    signingConfigs {

        release {

            storeFile file(“../signApk/SignDemo.jks”)
            storePassword ‘123456’
            keyAlias ‘SignDemo’
            keyPassword ‘123456’
        }

        debug {

            storeFile file(“../signApk/SignDemo.jks”)
            storePassword ‘123456’
            keyAlias ‘SignDemo’
            keyPassword ‘123456’
        }
    }
    buildTypes {

        release {

            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’
        }
    }
}

dependencies {

    compile fileTree(dir: ‘libs’, include: [‘*.jar’])
    testCompile ‘junit:junit:4.12’
    compile ‘com.android.support:appcompat-v7:23.3.0’
}

4、运行 

经过以上配置之后,以后每次直接点击run,app 就可以带着系统签名,直接安装到设备上了

本文转载自:https://blog.csdn.net/cui130/article/details/89451422

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

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

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

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

(0)


相关推荐

  • Android 完全退出app程序

    Android 完全退出app程序Android完全退出app程序(不保留历史打开app记录)finishAndRemoveTask();//该方法在APIlevel21之后添加。System.exit(0);android.os.Process.killProcess(android.os.Process.myPid());

  • Windows下如何打开CSV文件

    Windows下如何打开CSV文件Windows下如何打开CSV文件CSV文件,即逗号分隔符文件,是一种存储文本数据的常用文件形式。使用MicrosoftExcel打开微软的Excel是我们常用的办公软件之一,它可以用来打开CSV文件。如下图所示:可以看到,用Excel打开的CSV文件,有较好的视觉体验,内容分明,但其隐藏了文本中的逗号。使用Notepad++打开Notepad++是一种非常好用的文本编辑器,它也可以…

  • 丢失的手机关机了怎么找回_maven clean报错

    丢失的手机关机了怎么找回_maven clean报错最近比较忙,忙的都没时间更新博客了.所以今天要一口气写两篇.WebPart中DropDownList丢失状态的解决方案,十分头痛.现象就是DropDownList老是为空.当时有些晕,上网搜了好久,要么没答案,要么含糊其词。当有些网友说用HiddenField保存状态给我一些启发,于是我朝HiddenField的方向去想。原理:HiddenField的是可以直接反映…

  • 四足机械狗

    四足机械狗机械狗目录机械狗写在前面计划1搭建模拟环境1.1先模拟条简单的狗腿(two-link)1.1.1ForwardKinematics1.1.2InverseKinematics1.1.3ForwardDynamics1.1.4InverseDynamics1.2模拟个复杂点的狗腿(three/four-link)1.3搭个全身1.4加入Contactmodelling1.5合到一起2控制器设计2.1PDcontroll2.2Impedance/forcecontr

  • Android触摸事件_android设置按钮点击事件

    Android触摸事件_android设置按钮点击事件在Android系统中,手势的识别是通过.OnGestureListener接口来实现的,利用,摸屏的Fling、Scroll等方法可以进行滑动或翻页效果的实现;触摸屏相关的事件,是通过onTouchListener来实现的。我们可以通过MotionEvent的getAction()方法来获取Touch事件的类型,包括ACTION_DOWN,ACTION_MOVE,ACTION_UP,

  • 创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息。…

    创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息。…

    2021年10月30日

发表回复

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

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