- 浏览: 12230 次
- 性别:
- 来自: 河南
文章分类
最新评论
既然要做项目发布,那么离不了软件签名,android不会安装任何一个没有签名的apk,那为什么我一直写的软件都可以安装的呢?那时因为你用的是android自带的默认调试用的数字证书---签名
方法有两种:
第一种:
<!--[if !supportLists]-->1) <!--[endif]-->首先要找到你的android的调试debug.keystore的所在位置
<!--[if !supportLists]-->a)
<!--[endif]-->打开eclipse-window-preference-Android-build
<!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="_x0000_i1038" type="#_x0000_t75" style='width:415.5pt;
height:98.25pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.png"
o:title="" />
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->b) <!--[endif]-->注意一定要看看这个路径中有没有空格啊,如果有空格的话,要把你的.android文件夹拷贝到别的地方,只要不让路径中存在空格即可(步骤)
<!--[if !supportLists]-->2) <!--[endif]-->打开cmd dos界面
<!--[if !supportLists]-->a)
<!--[endif]-->进入到你即将存储keystore文件的文件夹下面,如:
<!--[if gte vml 1]><v:shape id="_x0000_i1037"
type="#_x0000_t75" style='width:123.75pt;height:14.25pt;visibility:visible;
mso-wrap-style:square'>
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image003.png"
o:title="" />
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->b) <!--[endif]-->先输入keytool看有没有这个命令,有的话进行如下操作
<!--[if !supportLists]-->c) <!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_7" o:spid="_x0000_i1036" type="#_x0000_t75" style='width:415.5pt; height:177.75pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image005.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->d) <!--[endif]-->问你正确吗?你输入:Y
<!--[if !supportLists]-->3) <!--[endif]-->现在去你的文件夹下面看看是不是生成了一个文件
<!--[if gte vml 1]><v:shape id="图片_x0020_10"
o:spid="_x0000_i1035" type="#_x0000_t75" style='width:315.75pt;height:85.5pt;
visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image007.png"
o:title="" />
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->4) <!--[endif]-->这就是数字证书了
<!--[if !supportLists]-->5) <!--[endif]-->接下来就是给项目签名了
<!--[if !supportLists]-->a) <!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1034" type="#_x0000_t75" style='width:414.75pt;height:233.25pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image009.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->b) <!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1033" type="#_x0000_t75" style='width:415.5pt;height:301.5pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image011.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->c) <!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_19" o:spid="_x0000_i1032" type="#_x0000_t75" style='width:415.5pt; height:301.5pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image013.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->d) <!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1031" type="#_x0000_t75" style='width:415.5pt;height:298.5pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image015.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
第二种:
<!--[if !supportLists]-->1) <!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_13" o:spid="_x0000_i1030" type="#_x0000_t75" style='width:414.75pt;height:233.25pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image009.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->2) <!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_16" o:spid="_x0000_i1029" type="#_x0000_t75" style='width:415.5pt;height:301.5pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image011.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->3) <!--[endif]--><!--[if gte vml 1]><v:shapetype
id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter" />
<v:path gradientshapeok="t" o:connecttype="rect" />
</v:shapetype><v:shape id="_x0000_s1027" type="#_x0000_t202" style='position:absolute;
left:0;text-align:left;margin-left:224.3pt;margin-top:66.35pt;width:174.05pt;
height:23.8pt;text-indent:0;z-index:2' /><![endif]--><!--[if !vml]-->
这是我手打的,不是Browse过来的
<!--[endif]--><!--[if gte vml 1]><v:shapetype id="_x0000_t32" coordsize="21600,21600"
o:spt="32" o:oned="t" path="m,l21600,21600e" filled="f">
<v:path arrowok="t" fillok="f" o:connecttype="none" />
<o:lock v:ext="edit" shapetype="t" />
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t32" style='position:absolute;
left:0;text-align:left;margin-left:195.5pt;margin-top:77pt;width:23.15pt;
height:19.4pt;flip:x;z-index:1' o:connectortype="straight">
<v:stroke endarrow="block" />
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_1" o:spid="_x0000_i1028" type="#_x0000_t75"
style='width:415.5pt;height:301.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image018.png"
o:title="" />
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[endif]--><!--[if !mso]-->
<!--[endif]--><!--[if !mso & !vml]--> <!--[endif]--><!--[if !vml]-->
<!--[endif]-->
<!--[if !supportLists]-->4) <!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_4" o:spid="_x0000_i1027" type="#_x0000_t75" style='width:415.5pt;height:301.5pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image020.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->5) <!--[endif]--><!--[if gte vml 1]><v:shape id="图片_x0020_22" o:spid="_x0000_i1026" type="#_x0000_t75" style='width:415.5pt;height:298.5pt; visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image015.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->6) <!--[endif]-->ok
改变目录步骤:
<!--[if !supportLists]-->1. <!--[endif]-->将.android文件夹拷贝到没空格的任意目录下
<!--[if !supportLists]-->2. <!--[endif]-->右键我的电脑à属性à高级à环境变量à新建
<!--[if gte vml 1]><v:shape id="图片_x0020_25"
o:spid="_x0000_i1025" type="#_x0000_t75" style='width:260.25pt;height:111.75pt;
visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image023.png"
o:title="" />
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
<!--[if !supportLists]-->3. <!--[endif]-->确定
<!--[if !supportLists]-->4. <!--[endif]-->打开你的eclipse-window-preference-Android-build
看看是不是你设定的变量值
- android数字证书-签名.zip (297.2 KB)
- 下载次数: 3
发表评论
-
测试自己安装自己
2012-08-07 15:39 1自己安装自己 -
实现可以横向滑动的Listview
2012-08-03 14:15 0其实做法很简单就是在你的listview的外部加一个Horiz ... -
android 屏幕上面画线
2012-08-03 09:17 1602作业如下:在android屏幕上面任意画线 ... -
动态切换view视图viewflipper组件
2012-08-03 09:16 1779个人理解viewflipper,他其实就是切换view视 ... -
android 4.0 全屏 屏蔽下面的status bar
2012-08-03 09:16 1350做一个平板的应用,底部的BACK HOME 还有电池WI ... -
linux 编译 android-apk 安装到window下的模拟器(步骤)
2012-08-03 09:15 15101. 首先在windows环境下编写 了工程文 ... -
android代码实现自动关机
2012-08-03 09:14 1657activity.java public class ... -
ListView.addFooterView()不显示view的原因
2012-08-02 16:24 2590今天闲的没事的时候,想起了listview的最底部添加一个bu ...
相关推荐
1. **签名步骤**: - 创建密钥对:开发者需要使用Keytool工具生成一对密钥,包括一个私钥和对应的公钥。 - 签名JAR文件:使用私钥对APK或JAR文件进行签名,生成一个包含签名信息的META-INF目录。 - 验证签名:...
Android数字签名是...总结来说,Android数字签名是保障应用安全性和可信任性的重要步骤,它确保了应用的源代码完整性和开发者身份的真实性。开发者需要理解并掌握这一过程,以便于正确发布和分发Android应用程序。
4. **数字签名实现**:数字签名在Android中通常与证书和签名过程相关。开发者可以使用KeyStore系统来存储私钥,然后使用这个私钥对APK进行签名。在PaintView中,可能实现了一个让用户在屏幕上签名的功能,记录用户的...
1.1 定义:Android签名是一个数字证书,它包含开发者的信息(如名称、组织和证书有效期)以及用于验证应用的私钥。这个签名通过加密算法对APK文件进行签名,确保应用未被篡改。 1.2 作用: - 身份验证:验证应用是...
在Android系统中,签名是一个数字证书,它包含了开发者的信息和用于验证APK的公钥。这个签名用于证明应用是由特定开发者发布的,并且在安装和更新过程中,系统会检查签名以确保应用的完整性和安全性。 获取应用签名...
### Android签名证书文件的解析与签名校验加强 #### 一、Android签名机制概述 Android平台为了确保应用的安全性和来源的可信度,采用了一套严格的签名机制。这一机制确保了只有经过签名的应用程序(APK)才能够在...
在进行Ionic应用签名之前,首先需要创建一个密钥库文件(Keystore file),该文件用于存放数字证书和密钥对。生成签名文件的具体步骤如下: #### 命令行示例: ```bash keytool -genkey -v -keystore my-release-...
它简化了签名步骤,使得开发者在创建应用,特别是在新浪开放平台上分享或发布应用时,能够更快速、更便捷地生成所需的签名信息。这在填写新浪开放平台的应用注册信息时尤其重要,因为正确的签名信息是应用能够成功接...
Android系统要求每个安装到设备上的应用程序都必须有一个数字签名,以验证应用的来源并确保其在安装和更新时的一致性。Android 4.4.2系统签名,是针对这个特定版本Android系统进行签名操作的流程,它涉及到Android...
- **自签名证书**:Android程序包使用的数字证书可以是自签名的,即由开发者自己创建并签名,不需要权威的数字证书机构进行认证。 - **有效期**:数字证书都有有效期,Android要求所有应用程序数字证书的有效期要...
当系统安装一个应用时,会验证该应用是否由正确的系统签名证书签名,以确保其来源可靠。 `platform.pk8`文件则包含了对应的私钥。PK8是一种私钥的封装格式,通常用于加密软件分发中的私钥存储。在Android系统签名中...
在Android系统中,每个安装包(APK)都需要一个数字签名,这个签名用来验证应用的来源并确保其在安装和更新过程中未被篡改。Android系统会检查APK的签名,只有签名验证通过的应用才能被安装。签名过程通常包括创建一...
在Android系统中,每个发布到Google Play Store或其他第三方市场的应用程序都需要一个数字签名。这个签名证书包含了开发者身份的信息,包括开发者的名字、组织和证书的有效期。通过签名,用户可以确认应用是由可信赖...
- **签名APK**:使用工具(如`signapk.jar`)将私钥应用到APK上,创建数字签名。 - **验证签名**:在安装时,Android系统会用APK中的公钥验证签名,确保其完整性和开发者身份。 3. **使用给定的文件**: - `test...
通过该工具,开发者可以为APK文件添加数字证书,确保其来源的真实性和完整性。 #### 三、签名前的准备工作 1. **安装JDK**:确保本地计算机已安装Java Development Kit (JDK),这是使用`jarsigner`的前提条件。 2....
在Android系统中,每个安装到设备的应用都需要被一个数字证书签名,这个证书用于验证应用的身份。签名过程确保了应用在安装和更新时未经篡改,同时也能让系统知道谁是应用的开发者,有助于建立用户的信任。 其次,...
在移动开发领域,Qt是一个强大的跨平台应用程序框架,而OpenSSL则是一个广泛使用的安全协议库,主要用于加密通信和数字签名。当我们需要在Android平台上开发使用Qt的项目,并且涉及到网络通信的安全性时,如HTTPS...
Android数字证书的关键点包括: 1. **必需性**:所有应用必须带有数字证书,无证书的应用无法被系统安装。 2. **自签名**:Android应用的证书可以是自签名的,不需要权威证书机构认证。 3. **正式发布**:正式发布...