您现在的位置是: 首页 > 名人语录 名人语录

apk签名软件

ysladmin 2024-06-28 人已围观

简介apk签名软件       大家好,今天我想和大家探讨一下“apk签名软件”的应用场景。为了让大家更好地理解这个问题,我将相关资料进行了分类,现在就让我们一起来探讨吧。1.apkǩ??????2.如何对Android的AP

apk签名软件

       大家好,今天我想和大家探讨一下“apk签名软件”的应用场景。为了让大家更好地理解这个问题,我将相关资料进行了分类,现在就让我们一起来探讨吧。

1.apkǩ??????

2.如何对Android的APP进行签名

3.Android studio怎么生成签名apk

4.提取apk签名到另一个app

5.手机中validationtools.apk是什么软件

apk签名软件

apkǩ??????

       将要修改的apk重命名,如123.apk,名字不能含有汉字,如原名没有汉字可忽略;

       解压“一键APKtool”,将123.apk托至该文件夹下;

       点击“一键APKtool.exe”,先进行1,加载框架,然后2,反编译;

       进入该文件夹找到反编译出来的123文件夹,里面找到AndroidManifest.xml

       打开,第二行<manifest android:versionCode="300" android:versionName="4.0.003" ,修改版本号,如为9.9.999,保存;

       然后打开“一键APKtool.exe”进行3,回编apk;

       在“回编apk生成目录”便可以找到回编后的apk;

       打开“ApkTool.exe”,将该apk拉到“签名那一栏”,点击签名;

       等待签名成功,即可使用~

如何对Android的APP进行签名

       Android系统要求,所有的程序经过数字签名后才能安装。Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系。证书不是用于用户控制哪些程序可以安装。证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的。

       理解Android应用程序签名有以下几个重要点:

       ·所有的应用程序都必须签名。系统不会安装任何一个不签名的程序。

       ·你可以使用自己的证书来签名。不需要任何授权中心。

       ·当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥。你不可以发布程序的时候还使用SDK工具签入的DebugKey。

       ·系统只在安装应用程序的时候检测证书的有效期。如果应用程序在安装之后证书失效了,那么,应用程序还是可以正常工作。

       ·你可以使用标准工具——Keytool和Jarsigner——生成Key并签名apk文件。

       ·一旦你为应用程序签名了,一定要使用zipalign工具来优化最终的APK包。

       Android系统不会安装和运行没有正确签名的应用程序。这条规则适用于任何运行Android系统的地方,不管是真机还是模拟器。正是由于这个原因,你必须在模拟器或真机上运行/调试程序之前对程序进行签名。

       当你调试应用程序时,AndroidSDK工具替你对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Release模式。

       ·当开发和测试时,你可以使用Debug模式。在Debug模式下,编译工具使用内嵌在JDK中的Keytool工具来创建一个keystore和一个key(包含公认的名字和密码)。在每次编译的时候,使用这个DebugKey来为apk文件签名。由于密码是公认的,在每次编译的时候,也不需要提示你输入keystore和key密码。

       ·当你的程序准备发布时,你必须在Release模式下,使用密钥来为apk文件签名。有以下两种方式可以做到:

       1.命令行中使用Keytool和Jarsigner。在这个方法中,首先需要编译出一个未签名的apk。然后使用Jarsigner(或相似的工具),用你的密钥为apk手动签名。如果你没有合适的密钥,你可以运行Keytool来手动生成自己的keystore/key。

       2.使用ADT导出向导。如果你使用Eclipse/ADT插件进行开发,你可以使用导出向导来编译程序,生成密钥(如果需要),并为apk签名,所有这些操作都在导出向导中。一旦你的程序签名了,别忘了运行zipalign来为apk进行额外的优化。

       签名策略

       应用程序签名的某些方面可能会影响应用程序的开发,特别是你打算一起发布多个应用程序的时候。一般来说,推荐的策略是在整个应用程序寿命内,所有的程序签上相同的证书。

       以下有几个应该这么做的原因:

       ·应用程序升级——当你对应用程序进行升级时,如果你想用户平稳的升级,那么,你就需要签上相同的证书。当系统安装一个升级应用程序时,如果新版本的证书与老版本的证书有匹配的话,那么,系统才会允许进行升级。如果你没有为版本签上合适的证书,当你安装时,你需要给应用程序指定一个新的包名——在这种情况下,用户安装的新版本,被当作是一个全新的应用程序。

       ·应用程序模块化——如果应用程序请求的话,Android系统允许签有相同证书的应用程序运行在相同的进程里,这样,系统就会把它们看作是一个单一的应用程序。用这种方法配置应用程序,用户可以选择更新每个独立的模块。

       ·代码/数据权限共享——Android系统提供了基于签名的权限检查,因此,如果应用程序间签有特定的证书,那么,它们之间可以共享功能。通过多个程序签有相同的证书并且使用基于签名的权限检查,你的程序可以以一种安全的方式共享代码和数据。还有一个决定签名策略的重要因素是:如何设定key的有效期。

       ·如果你计划支持单个应用程序的升级,你需要确保你的key拥有一个超过期望的应用程序生命周期的有效期。推荐使用25年或更多的有效期。当你的key过期了,用户也就不能平稳的更新到新版本了。

       ·如果你想给多个无关的应用程序签上相同的key,那么,你必须确保key的有效期超过所有应用程序所有版本的生命周期,包括将来有可能添加到这一阵营的程序。

       ·如果你想在上发布你的程序,key的有效期必须在2033.10.22以后。Market服务器强制这一要求,目前是保证用户可以平稳的更新他们的程序。

       当你设计应用程序时,一定要把这些点记在脑子里,并且使用一个合适的证书来为应用程序签名。

       签名的基本设定

       在你开始之前,你必须保证Keytool对SDK编译工具来说是可利用的。多数情况下,你可以通过设置JAVA_HOME环境变量来告诉SDK编译工具如何找到Keytool。另外,你还可以添加JDK中Keytool的路径到PATH的变量里。

       如果你在Linux上开发,并且使用GNU编译器来编译Java,那么,请确保系统是使用JDK中的Keytool,而不是gcj。如果Keytool已经在你的PATH中,它有可能是对/usr/bin/keytool的符号链接。在这种情况下,检查符号链接的目标,确保它是指向JDK中的Keytool。如果你打算对公众释放你的应用程序,你还需要Jarsigner工具。Jarsigner和Keytool都包含在JDK中。

       Debug模式下签名

       Android编译工具提供了Debug签名模式,使得开发和调试应用程序更加容易,而且还满足Android系统的签名要求。当使用Debug模式编译你的app时,SDK工具会调用Keytool工具自动创建一个Debug的keystore和key。然后,这个Debugkey会自动用于apk的签名,这样,你不需要使用你自己的key来为应用程序包签名。

       SDK工具使用预先定义好的名字/密码来创建/key:

       ·Keystore名字:“debug.keysotre”

       ·Keystore密码:“android”

       ·Key别名:“”

       ·Key密码:“android”

       ·CN:“CN=,O=Android,C=US”

       如果需要的话,你可以改变/key的位置和名字,或者提供一个自定义的/key。然而,任何自定义的/key必须使用和默认Debugkey(上面描述的)相同的名字和密码。(在Eclipse/ADT中,操作Windows>Preferences>Android>Build实现。)

       注意:你不能将签有Debug证书的应用程序发布给公众。

       Eclipse用户

       如果你在Eclipse/ADT下开发(并且已经按照上面描述的“签名的基本设定”配置了Keytool),Debug模式下签名默认是开启的。当你运行或是调试应用程序时,ADT会使用Debug证书进行签名,并运行zipalign,然后安装到选择的模拟器或是连接上的设备。整个过程不需要你参与,前提是ADT能访问Keytool。

       Ant用户

       如果你使用Ant来编译你的apk文件,需要在ant命令中添加debug选项来开启Debug签名模式(假设你正在使用由android工具生成build.xml文件)。当你运行antdebug来编译你的程序时,编译脚本会生成一个keystore/key,并为apk进行签名。然后脚本会使用zipalign工具对apk进行对齐处理。整个过程不需要你参与。阅读“其它IDE下开发:Debug模式编译”来了解更多的信息。

       Debug证书过期

       Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效。

       当证书失效时,你会得到一个编译错误,在Ant编译上,错误如下:

       debug:

       [echo]/samples-debug.apk,...

       [exec]/4/083:43PM

       在Eclipse/ADT中,Android控制台上你将会看到一个相似的错误。

       为了解决这个问题,只需要删掉debug.keystore文件即可。AVD默认存储的位置在:~/.android/avd(OSX和Linux),C:\.android(WindowsXP),C:Users\.android()。

       当下一次编译的时候,编译工具会重新生成一个新的keystore和Debugkey。

       Release模式下签名

       当你的程序准备好释放给其它用户时,你必须:

       1.获取一个合适的密钥

       2.在Release模式下编译程序

       3.使用密钥签名程序

       4.对齐APK包

       如果你是使用Eclipse/ADT插件开发,你可以使用导出向导来完成编译、签名和对齐等操作。在整个过程中,导出向导甚至还可以生成一个新的keystore和密钥。因此,如果你使用Eclipse,你可以直接跳到“使用EclipseADT编译和签名”。

       获取一个合适的密钥为了进行程序的签名,首先,你必须有一个合适的密钥。密钥指:

       ·个人持有。

       ·代表个人、公司或组织实体的身份。

       ·拥有一个有效期。有效期推荐超过25年。

       如果你在上发布你的程序,需要注意一点的是:程序的有效期需要在2033.10.22之后。你不能上传一个应用程序,而它的key的有效期是在这个日期之前。

       ·不是由AndroidSDK工具生成的Debugkey。

       如果你没有一个合适的key,你一定要使用Keytool来生成一个。如“基本设定”中描述的,确保Keytool可用。

       为了用Keytool生成一个key,使用keytool命令并传入一些可选参数,如下表所示。

       警告:确保密钥的安全。一定要阅读“安全储存你的密钥”中讨论如何确保你的密钥的安全以及这对你和用户为何如此重要。尤其是,当你生成你的密钥时,一定要为keystore和key使用强密码。

Android studio怎么生成签名apk

       签名方法:

       1.使用Keytool 和jarsigner工具签名(在jdk/bin目录下)

       1.生成签名keystore:

       确保电脑上安装了JDK,因为我们将使用JDK自带的创建和管理数字证书的工具Keytool。在命令行下输入如下命令:

       keytool -genkey -v -keystore app.keystore -alias alias_name -keyalg RSA -validity 20000

       -alias 后面跟的是别名这里是alias_name

       -keyalg 是加密方式这里是RSA

       -validity 是有效期这里是20000

       -keystore 就是要生成的keystore的名称这里是app.keystore

       然后按回车键

       按回车后首先会提示你输入的密码:这个在签名时要用的,要记住

       然后会再确认你的密码。

       之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。

       Keytool的详细参数请参考:

       /androidkaifa/173.html

       2.签名:

       jarsigner -verbose -keystore app.keystore -signedjar app_signed.apk app.apk alias_name

       -keystore: keystore的名称

       -signedjar app_signed.apk: 指定签名后生成的APK名称

       app.apk: 目标APK

       然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。

       3.查看签名:

       jarsigner -verify app_signed.apk

       查看是否签名,如果已经签名会打印 "jar verified".

       jarsigner -verify -verbose -certs app_signed.apk

       查看签名详细信息。

       4.通过zipalign工具进行优化apk(android自带的工具,./build/tools/zipalign)

       zipalign -v 4 app_signed.apk androidres.apk 对apk优化

       zipalign -c -v 4 androidres.apk 查看apk是否经过优化

        2.使用eclipse ADT工具签名

       在Package Explorer 窗口,右键,选择Android Tools--->Export Signed Application Package 然后按照提示一步一步,生成已签名的apk。通过eclipse也可以导出未签名的APK文件。

       注:需要输入两次密码,第一次是私钥密码,第二次时私钥别名的密码。

        3.eclipse在debug模式下自动签名(无须手动配置):

        在debug模式下用eclipse 的ADT为android签名,只要应用程序在eclipse下开发,系统就会自动给apk签名和优化。

        在Eclipse中Windows > Preferences > Android > Build可以看到你keysotre的位置

提取apk签名到另一个app

       1、生成你自己的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

       3、配置gradle(app)

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

       依次填写jks的路径,密码,别名等

       详情介绍

手机中validationtools.apk是什么软件

       题主是否想询问“怎么提取apk签名到另一个app”?打开命令,使用指令。

       1、打开命令:在源APK文件的目录下,打开命令行工具和终端。

       2、使用指令:使用工具keytool来提取APK的签名证书,输入命令,在目标App项目的目录下,将提取的签名证书文件复制到合适的位置。

       1.首先,打开apksign.exe这个程序

       2.点击选择apk或者ROM,用来选择你需要签名ROM或者apk,选择好如图所示

       3.点击签名文件保存目录,设置签名之后的ROM存放的地方,我这里放在桌面上,然后点击制作签名。

       4.这是会提示正在制作,这里注意一下,如果刚点了制作签名马上就提示制作成功就代表你的电脑没有安装Java,请先安装Java,详情看本系列经验第二讲。

       5.制作成功的标志你存放的地方是又有一个同名,但是后边多了~符号的ROM生成。这个ROM就是签名之后的ROM,与之前的ROM内容一样,就是签名了才能刷ROM。

       如何用apktools编译反编译:

       1.打开apktools,选择一个apk文件来反编译,同上,需要设置反编译存放路径。

       点击反编译即可

       2.反编译成功的标志是你所存放路径有个文件夹,这个文件夹里就有apk的图标,动作等等,如何修改到以后再讲。

       3.编译就是将反编译出来的文件夹再次打包成apk文件,所以选择你修改后的文件夹,选择编译保存路径,编译即可。

       4.编译成功的标志是你存放路径多了个apk文件,也就是新修改的安卓软件。注意编译了之后也需要签名的,否则不能安装。

       好了,今天关于“apk签名软件”的话题就讲到这里了。希望大家能够通过我的介绍对“apk签名软件”有更全面的认识,并且能够在今后的实践中更好地运用所学知识。如果您有任何问题或需要进一步的信息,请随时告诉我。