皮皮网

【tar 源码 编译】【ksweb网页源码】【神泣 源码】android源码 signapk

2024-12-23 02:04:59 来源:itop修改源码

1.Android常用签名方式及签名转换技巧
2.如何安装系统认证签名过的APK
3.如何用android:sharedUserId属性生成带有系统权限的apk?
4.Android系统签名

android源码 signapk

Android常用签名方式及签名转换技巧

       在Android开发过程中,签名是保证应用安全性的重要环节。以下是Android常用的签名方式及签名转换技巧。

       首先,了解签名的基本知识。使用platform.pk8和platform.x.pem进行命令签名,tar 源码 编译需要准备以下要素:signapk源码位于/build/tools/signapk/,可以在服务器上单独编译此模块,然后在/out/host/linux-x/framework文件夹下找到platform.pk8和platform.x.pem,它们位于android/build/target/product/security文件夹下。

       其次,使用.keystore或.jks进行gradle签名。使用.keystore和.jks时,ksweb网页源码需要提供相关信息,以便在gradle中引入。

       此外,还可以使用keystore或jks与jarsigner命令进行签名,或者使用Android Studio进行签名。使用Android.mk或Android.bp进行签名也是神泣 源码一种选择。

       在签名转换方面,可以将platform.pk8和platform.x.pem转换成.keystore和.jks。具体方法如下:

       1. 利用网上开源项目github.com/getfatday/ke...,使用keytool-importantkeypair工具,将platform.pk8和platform.x.pem转换成platform.keystore。在Linux环境下,源码乘法PPT使用命令生成platform.keystore即可。

       2. 在这里,别名、密码等信息需要记下来,以便在引入签名文件时使用。

       3. 同样地,apicloud前端源码可以将platform.pk8和platform.x.pem转换成.jks。可以使用上述keytool-importkeypair生成jks。

如何安装系统认证签名过的APK

       ç¬¬ä¸€ç§

       å¦‚果你 repo sync 了 android 的整个源码,那么可以直接把你的 app 放到 /packages/apps 下面去 mm ,不过要记得在 Android.mk 中增加 LOCAL_CERTIFICATE 属性,这个属性具体有三个值:

       ç³»ç»Ÿä¸­æ‰€æœ‰ä½¿ç”¨ android.uid.system 作为共享 UID 的 APK ,都会首先在 manifest 节点中增加android:sharedUserId=“android.uid.system”,然后在 Android.mk 中增加 LOCAL_CERTIFICATE := platform。可以参见 Settings 等

       ç³»ç»Ÿä¸­æ‰€æœ‰ä½¿ç”¨android.uid.shared作为共享 UID 的 APK,都会在 manifest 节点中增加android:sharedUserId=“android.uid.shared”,然后在 Android.mk 中增加 LOCAL_CERTIFICATE := shared。可以参见 Launcher 等

       ç³»ç»Ÿä¸­æ‰€æœ‰ä½¿ç”¨ android.media 作为共享 UID 的 APK,都会在 manifest 节点中增加android:sharedUserId=“android.media”,然后在 Android.mk 中增加 LOCAL_CERTIFICATE := media。可以参见 Gallery 等。

       ç¬¬äºŒç§

       å½“然,毕竟不是每个人都有机会,或者有必要下载整个源码的。 简单地,当你用 IDE 编出 apk 之后,可以去 /build/tools/signapk/ 找到 signapk.jar 文件;再去 /build/target/product/security/ 里找到 platform.pk8 、 platform.x.pem 这两个文件。把它们连同你的 apk 扔进一个文件夹,然后 cd 到该文件夹下执行 java -jar signapk.jar platform.x.pem platform.pk8 Origin.apk Signed.apk,得到的 Signed.apk 就可以直接 adb install了。

如何用android:sharedUserId属性生成带有系统权限的apk?

       如何用android:sharedUserId属性生成带有系统权限的apk?

       通过源码编译apk获取系统权限,主要有两种方法:使用Android系统源码的环境下用make命令编译,或者使用eclipse源码编译,无需使用make命令。

       方法1:Android源码环境下的make命令编译。首先在android源码根目录下执行以下命令:

        - build/envsetup.sh 设置编译环境

        - lunch 选择编译目标

        - make 编译整个系统

       Android平台提供常用命令如:

        - make 编译整个系统或单个模块

        - mmm 编译指定目录下的模块

        - mm 编译当前目录下的模块

        - mma 编译当前目录及其依赖模块

        - mms 编译指定目录及其依赖模块

        - make sdk 编译SDK

        - make snod 生成系统映像,速度较快但不稳定

       方法2:使用eclipse源码编译。在signapk.java代码目录下执行命令:

        - javac signapk.java 获取SignApk$SignatureOutputStream.class和SignApk.class

        - 将两个class文件放入目录下并生成signapk.jar文件

        - 复制platform.pk8和platform.x.pem文件至signapk.jar和SignApk.mf所在的目录

        - 使用java -jar signapk.jar签名apk文件

       在加入android:sharedUserId="android.uid.system"属性后,程序运行在系统进程中,拥有系统权限。但还需使用platform.pk8和platform.x.pem两个文件签名apk,确保在系统中安装和运行。生成的程序仅在原始Android系统或自己编译的系统中可用。

       系统中使用不同共享UID的APK具有不同的权限和用途。遵循上述方法,你可以尝试编译带有sharedUserId权限的apk,并将其放置在开发版的/system/priv-app/目录下,以实现静默ota升级。

       本文章总结了使用android:sharedUserId属性生成带有系统权限的apk的方法和注意事项,希望对开发者有所帮助。后续将介绍ota升级的理论、实践和原理等内容。欢迎关注知乎主页以获取更多Android开发知识。sunst -- :

Android系统签名

       æœ‰æ—¶å€™ï¼Œæˆ‘们开发的apk需要用到系统权限,需要在AndroidManifest.xml中添加共享系统进程属性:

        这时候apk的签名就需要是系统签名(platform、shared或media)才能正常使用。

        常用系统签名方式

        这种方式比较麻烦,你需要有编译过的源码环境,并按如下步骤:

        1、拷贝App源码到Android源码的packages/apps/目录下,且App源码是普通(Eclipse)格式的

        2、配置Android.mk,在其中添加

        3、使用mm编译App,生成的apk即系统签名

        这种方式比在源码环境下签名简单,App可以在Eclipse或Android Studio下编译,然后给apk重新签名即可。

        但这种方式在频繁调试的时候比较痛苦,即使写成脚本,也需要重复一样的操作。

        相关文件

        platform.x.pem、platform.pk8、signapk.jar

        文件位置

        platform.x.pem、platform.pk8:

        signapk.jar:

        signapk源码路径:

        签名命令

        步骤

        1、将相关文件及源apk文件置于同一路径下

        2、检查源apk包,去掉META-INF/CERT.SF 和 META-INF/CERT.RSA 文件

        3、执行签名命令即可

        让Android Studio集成系统签名,需要用到一个工具 keytool-importkeypair ,详见下文。

        这个工具的作用是将系统签名的相关信息导入到已有的签名文件里。

        工具的使用方法可以通过–help或README.textile来寻求帮助

        platform.x.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh

        我的做法是在App根目录新建Signature文件夹专门存放签名相关文件。

        步骤

        1、生成demo.jks签名文件

        2、编写签名脚本signature.sh,内容如下:

        为脚本文件添加可执行权限:

        执行脚本:

        3、配置builde.gradle

        在android区域下(与defaultConfig同级)添加配置:

        这样debug或release apk就带有系统签名了。

        如果想直接Run app就是release版且带系统签名的apk,还需修改:

        这样直接Run app就是带系统签名的release版apk了。