Android 应用签名的两种方法
Android 应用签名的两种方法
一、使用pem签名
(一) apk签名命令
java –jar signapk.jar [-w] publickey.x509[.pem] privatekey.pk8 Hello.apk Hello_signed.apk
- -w 是指对ROM签名时需使用的参数
- publickey.x509[.pem] 签名公钥文件,例如platform.x509.pem,在build\target\product\security下
- privatekey.pk8 签名私钥文件,例如platform.pk8,在build\target\product\security下
- Hello.apk 要签名的apk或者rom
- Hello_signed.apk 签名后生成的apk或者rom
- signapk.jar 签名工具,编译完后可以/out/host/linux-x86/framework/目录下,源码地址/platform/build/tools/signapk/
一般需要系统权限的使用platform签名命令
java -jar signapk.jar platform.x509.pem platform.pk8 Hello.apk Hello_signed.apk
(二)关于AndroidManifest中配置sharedUserId
在AndroidManifest.xml中配置sharedUserId可以使apk获取响应的用户uid并且能够使用与该用户相关的权限,常用的sharedUserId有system,media,shared。
android:sharedUserId="android.uid.system" android:sharedUserId="android.uid.shared" android:sharedUserId="android.media"
这时候如果不使用响应签名的话应用是不能够安装的。
二、使用keystore签名
jarsigner -verbose -keystore Android.keystore -signedjar android_signed.apk android.apk android.keystore
以上就是Android签名的两种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android签名机制介绍:生成keystore、签名、查看签名信息等方法
Android独有的安全机制,除了权限机制外,另外一个就是签名机制了.签名机制主要用在以下两个主要场合起到其作用:升级App和权限检查. 升级App 用户在升级一款已经安装过的App时,如果程序的修改来自于同一来源,则允许升级安装,否则会提示签名不一致无法安装的提示. 权限检查 我曾在Android Permission权限机制的具体使用一文中提过,对于申请权限的 protection level 为 signature 或者 signatureOrSystem 的,会检查权限申请者和权限声明
-
给Android的APK程序签名和重新签名的方法
签名工具的使用 Android源码编译出来的signapk.jar既可给apk签名,也可给rom签名的.使用格式: java –jar signapk.jar [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar -w 是指对ROM签名时需使用的参数 publickey.x509[.pem] 是公钥文件 privatekey.pk8 是指 私钥文件 input.jar 要签名的apk或者rom output.jar 签名后生成
-
Android获取apk程序签名信息代码示例
复制代码 代码如下: 这是获取apk包的签名信息private String getSign(Context context) { PackageManager pm = context.getPackageManager(); List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES); Iterator<PackageInfo> iter = apps.iterator()
-
Android APK使用Debug签名重新打包 Eclipse更改默认Debug签名
对已有的apk文件进行重新打包,前面 Android签名机制:生成keystore.签名.查看签名信息 已经介绍了.本文介绍另外两种需求. 使用默认的Debug签名打包 如果直接使用Eclipse开发新程序,默认就会被打上Debug的签名,这个是地球人皆知,但是如果你是想Repack别人并且想使用Debug签名该怎么办? 首先需要找到你本机的默认签名的,一般位于C:\Users\用户名\.android\debug.keystore下,拷出来,然后打包,打包命令: 复制代码 代码如下: jars
-
android应用签名详细步骤
1.准备工作apk的签名工作可以通过两种方式来完成: 1)通过ADT提供的图形化界面完成apk签名:右键项目--> Android Tools -->Export Signed Application Package... --> 打开图形界面2)完全通过shell/dos命令来完成apk签名 我比较喜欢第2)种方式,所以下面将讲解如何通过命令的方式完成apk签名. 给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool. jarsigner. zipalign,下面是对
-
解决在eclipse中将android项目生成apk并且给apk签名的实现方法详解
生成apk最懒惰的方法是:只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的.如果想要自己给apk签名:1.签名的意义为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装).2.签名的步骤a.创建keyb.使用步骤a中产生的key对ap
-
Android 应用签名的两种方法
Android 应用签名的两种方法 一.使用pem签名 (一) apk签名命令 java –jar signapk.jar [-w] publickey.x509[.pem] privatekey.pk8 Hello.apk Hello_signed.apk -w 是指对ROM签名时需使用的参数 publickey.x509[.pem] 签名公钥文件,例如platform.x509.pem,在build\target\product\security下 privatekey.pk8 签名私钥文件
-
Android TextView对齐的两种方法
Android TextView对齐的两种方法 在写Android布局文件时, 经常碰到如下图的TextView左右对齐的情况, 即姓名和手机号码纵向对齐.. 第一种方法: 在姓和名之间加空格, 但是如果用键盘的空格会在一些机型上对齐.一些机型上不对齐. \u3000是全角空格: \u0020是半角空格,效果跟在英文输入法下直接敲键盘空格一样. 这里要用全角空格, 占位一个汉字. <TextView android:layout_width="wrap_content" a
-
Android注册广播的两种方法分析
本文实例分析了Android注册广播的两种方法.分享给大家供大家参考,具体如下: 1. 在AndroidManifest.xml文件中注册. 好处:一旦应用程序被安装到手机里,BroadCast Receiver就开始生效.无论应用程序进程是否运行,运用程序是否在开启状态下都可以接受到广播事件. <receiver android:name=".receiver.SMSReceiver" > <intent-filter android:priority="
-
Android 配置打包签名信息的两种方法
目录结构如下: 有2种方式: 第一种,直接配置: signingConfigs { debug { storeFile file("app/keystore.properties") storePassword "111111" keyAlias "key" keyPassword "111111" } release { storeFile file("app/keystore.properties")
-
Android清除应用缓存的两种方法
第一种 使用ActivityManager中的clearApplicationUserData方法,代码如下: ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); am.clearApplicationUserData(); 这种方式的问题就是不知清除cache,连带应用的data也删除了.如下图所示: 第二种 使用PackageManager中的deleteApplicationC
-
Android实现图片叠加效果的两种方法
本文实例讲述了Android实现图片叠加效果的两种方法.分享给大家供大家参考,具体如下: 效果图: 第一种: 第二种: 第一种是通过canvas画出来的效果: public void first(View v) { // 防止出现Immutable bitmap passed to Canvas constructor错误 Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.apple).copy(Bi
-
Android通过LIstView显示文件列表的两种方法介绍
在Android中通过ListView显示SD卡中的文件列表一共有两种方法,一是:通过继承ListActivity显示;二是:利用BaseAdapter显示.BaseAdapter是一个公共基类适配器,用于对ListView和Spinner等 一些控件提供显示数据.下面是利用BaseAdapter类来实现通过LIstView显示SD卡的步骤: 1.main.xml界面设计,如下图 复制代码 代码如下: <?xml version="1.0" encoding="utf-
-
Android实现图片轮播效果的两种方法
大家在使用APP的过程中,经常会看到上部banner图片轮播的效果,那么今天我们就一起来学习一下,android中图片轮询的几种实现方法: 第一种:使用动画的方法实现:(代码繁琐) 这种发放需要:两个动画效果,一个布局,一个主类来实现,不多说了,来看代码吧: public class IamgeTrActivity extends Activity { /** Called when the activity is first created. */ public ImageView image
-
Android开发中播放声音的两种方法分析
本文实例讲述了Android开发中播放声音的两种方法.分享给大家供大家参考,具体如下: 在Android中,音频.视频等多媒体元素的加入,使得应用程序的用户体验更好.可以说,现在的手机,已经远远不只作为通信工具,更成为娱乐.办公的必备产品. Android提供了简单的音频API.一般大家使用的是MediaPlayer播放音频,这也是最常见的一种播放声音的工具.这种工具在互联网上有大量的实例,因此在此只做简单的介绍. 对播放行为的控制是三个大家非常熟悉的方法:start().stop()和paus
-
Android 实现按两次返回键退出程序(两种方法)
Android 实现按两次返回键退出程序(两种方法) 第一种方法: // 是否退出程序 private static Boolean isExit = false; // 定时触发器 private static Timer tExit = null; 第二种方法: public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (isExit == false) {
随机推荐
- Ubuntu下安装redis的2种方法分享
- Android应用开发中View绘制的一些优化点解析
- php 操作数组(合并,拆分,追加,查找,删除等)
- 几个Android编程时需要注意的 web 问题
- 通过php修改xml文档内容的方法
- C语言中十六进制转十进制两种实现方法
- MySQL基于DOS命令行登录操作实例(图文说明) 原创
- MySQL中视图的使用及多表INNER JOIN的技巧分享
- Yii查询生成器(Query Builder)用法实例教程
- php计算两个文件相对路径的方法
- 关于mysql 3.0的注射的一点思路
- Java Socket编程实现简单的问候服务
- 在PHP中使用curl_init函数的说明
- Tornado 多进程实现分析详解
- ASP.NET Core利用UrlFirewall对请求进行过滤的方法示例
- 基于vue实现移动端圆形旋钮插件效果
- laravel实现登录时监听事件,添加登录用户的记录方法
- Vue.js自定义指令学习使用详解
- python面向对象入门教程之从代码复用开始(一)
- PHP设计模式之解释器(Interpreter)模式入门与应用详解