- 浏览: 284647 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (142)
- android (64)
- android team 应用开发流程 (0)
- android 个人 开发流程 (1)
- android UI 切换皮肤 (1)
- java (9)
- 敏捷开发 (1)
- git (1)
- 学习 (2)
- hibernate (0)
- jQuery (1)
- windows (2)
- tomcat (1)
- Spring (3)
- struts2 (5)
- mysql (4)
- linux (15)
- JBPM (2)
- maven (4)
- 企业管理 (1)
- Iphone (1)
- 工作计划 (0)
- news (1)
- MOVE (1)
- exception-android (1)
- RFID (1)
- 测试 (7)
- android基础 (1)
- Gson (1)
- Android中的单元测试 (1)
最新评论
-
jlees:
Nice post.i hope this will help ...
Business mobile application development. The developer’s insight. -
weisi2375:
确实很详细的开发流程。
Android应用开发全流程 -
mikefather:
不错不错
Android,谁动了我的内存 -
ylzyd12345:
mark一下,谢谢分享
android的一些开源项目 -
limingcai:
确实不行,2.2就不行了,虽说2.3了 只有1.6可以
Android完全关闭应用程序
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开
- 博客分类:
- android
1.签名的意义
为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。
2.签名的步骤
a.创建key
b.使用步骤a中产生的key对apk签名
3.具体操作
方法一: 命令行下对apk签名(原理)
创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入
D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore |
/*说明:-genkey 产生密钥 |
-alias demo.keystore 别名 demo.keystore |
-keyalg RSA 使用RSA算法对签名加密 |
-validity 40000 有效期限4000天 |
-keystore demo.keystore */ |
D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore |
/*说明:-verbose 输出签名的详细信息 |
-keystore demo.keystore 密钥库位置 |
-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/ |
注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。
方法二:使用Eclipse导出带签名的apk
Eclipse直接能导出带签名的最终apk,非常方便,推荐使用,步骤如下:
第一步:导出。
第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystore会用到。
第三步:填写密钥库信息,填写一些apk文件的密码,使用期限和组织单位的信息。
第四步:生成带签名的apk文件,到此就结束了。
第五步:如果下次发布版本的时候,使用前面生成的keystore再签名。
第六步:Next,Next,结束!
方法三:使用IntelliJ IDEA导出带签名的apk
方法步骤基本和Eclipse相同,大概操作路径是:菜单Tools->Andrdoid->Export signed apk。
4.签名之后,用zipalign(压缩对齐)优化你的APK文件。
未签名的apk不能使用,也不能优化。签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-windows\tools目录下)工具对其优化:
D:\>zipalign -v 4 demo_signed.apk final.apk |
如上,zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值),这样android系统就可以使用mmap()(请自行查阅这个函数的用途)函数读取文件,可以在读取资源上获得较高的性能,
PS:在4个字节边界上对齐的意思就是,一般来说,是指编译器吧4个字节作为一个单位来进行读取的结果,这样的话,CPU能够对变量进行高效、快速的访问(较之前不对齐)。
5.签名对你的App的影响。
你不可能只做一个APP,你可能有一个宏伟的战略工程,想要在生活,服务,游戏,系统各个领域都想插足的话,你不可能只做一个APP,谷歌建议你把你所有的APP都使用同一个签名证书。
使用你自己的同一个签名证书,就没有人能够覆盖你的应用程序,即使包名相同,所以影响有:
1)App升级。 使用相同签名的升级软件可以正常覆盖老版本的软件,否则系统比较发现新版本的签名证书和老版本的签名证书不一致,不会允许新版本安装成功的。
2)App模块化。android系统允许具有相同的App运行在同一个进程中,如果运行在同一个进程中,则他们相当于同一个App,但是你可以单独对他们升级更新,这是一种App级别的模块化思路。
3) 通过允许代码和数据共享。android中提供了一个基于签名的Permission标签。通过允许的设置,我们可以实现对不同App之间的访问和共享,如下:
permission
android:protectionLevel
=
"normal"
/>
AndroidManifest.xml:< permission android:protectionLevel = "normal" />
|
最后,请一定要记得保管好你的签名证书的两个密码,两个密码都不要告诉任何人,也不要把你的密钥库拷贝给别人,包括我!
发表评论
-
Resource-type-->Color State List Resource
2013-04-22 10:50 1677Color State List Resource Col ... -
Business mobile application development. The developer’s insight.
2012-11-07 17:49 1651from: http://www.enterra-inc.co ... -
Android. Handling some SQLite issues.
2012-11-07 17:48 1786转载: http://www.enterra-inc.com/ ... -
git 获取android source
2012-08-15 12:52 3684在做android开发的时,在遇到某一问题,想看andro ... -
Android 手机上获取物理唯一标识码
2012-07-27 10:27 11776唯一标识码这东西在网络应用中非常有用,例如检测是否 ... -
android listview adapter
2012-06-23 14:41 1021listview 在什么情况下会刷新: 1. 当ada ... -
Android多线程下载详解
2012-06-20 18:31 944http://www.pin5i.com/showtopic- ... -
Unable to open sync connection!
2012-06-18 17:04 969把设置里的USB调试重新开了开,问题解决! -
android checkbox 定制(修改checkbox 的图片)
2012-06-18 14:30 3653转载:http://www.bangchui.org/read ... -
Android ProgressBar自定义图片进度,自定义渐变色进度条
2012-06-15 16:53 7593 -
Android应用开发全流程
2012-06-15 09:21 3782转载:http://blog.csd ... -
intent.setDataAndType
2012-06-13 18:24 74991. Intent open a picture ... -
Android操作HTTP实现与服务器通信
2012-06-03 14:47 1746本示例以Servlet为例,演示Android与Serv ... -
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thre
2012-06-03 12:00 9041当应用程序启动,创建了一个叫“main”的线程,用于管理 ... -
android Collections.sort(List<T> list) 与JAVA Collections.sort(List<T> list)
2012-05-04 10:33 1861Info.java : public class In ... -
android string xliff:g
2012-03-22 10:47 1020这个主要用于程序中,动态的插入内容时候使用,例如, ... -
android的一些开源项目
2011-12-07 17:13 2172转自: http://www.uuroid.com ... -
Understanding the Android Build Process
2011-11-25 12:38 981http://www.alittlemadness.com/2 ... -
Android 命令行手动编译打包详解
2011-11-24 10:07 1248Android 命令行手动编译打包过程图 【详细步骤】: 1 ... -
Android ListView 自定义背景后 滚动时的背景变黑问题
2011-11-21 14:30 1558ListView是常用的显示控件, ...
相关推荐
本文档总结了 Android 高级开发面试题和答案,以便大家更好地复习和准备面试。以下是从给定的文件中提取的知识点: 一、Handler 相关知识 Handler 是 Android 中的一个核心组件,用于在多线程环境中处理消息。...
1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用课堂上所学的Android手机应用开发知识。 2.为学生综合应用本专业所学习的多门课程知识(例如,软件工程、数据库、Java语言、Java Web开发等)...
第一篇Android系统结构和SDK使用............................................................................................................................5 第1章 Android的系统介绍........................
第1篇为基础篇,涵盖Android背景及开发环境和Android常用工程组件。第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计...
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
经典安卓教材,共计15本,从入门到精通样样俱全,个别PDF略微有些老,不过,经典的东西都是经久不息,看了之后绝对收益匪浅,我就是从看...linux Android基础知识总结.pdf 深入浅出Android——Android开发经典教材.pdf
本资源主要整理了 Android 高级开发面试题及答案,并对其中的知识点进行了详细的解释和分析。下面是该资源的知识点摘要: 一、Handler 相关知识 Handler 是 Android 中的一种消息处理机制,它可以将消息从一个线程...
"Android开发入门60个小案例+源代码"这个资源提供了丰富的实践练习,旨在帮助初学者通过实际操作来熟悉这些概念。 首先,Android应用开发的基础是理解Activity和Intent。Activity是Android应用中的一个单一屏幕,...
《Android基础知识点总结》 Android开发是移动应用领域的重要组成部分,掌握其基础知识是成为合格Android开发者的第一步。本文将从快捷键使用、环境配置、UI界面设计等方面进行深入阐述。 一、快捷键操作 快捷键...
[14本经典Android开发教程]-5-linux Android基础知识总结 ------------------------------------------------------- linux ,Android基础知识总结 1. Android编译系统分析 2. 文件系统分析 3. 制作交叉工具链 4. ...
Android SDK(软件开发工具包)是开发者用来构建、调试和发布Android应用的必备工具集。这个压缩包"Android_SDK.zip"包含了SDK的核心组件,使得开发者能够在各种设备上创建功能丰富的Android应用程序。下面是关于...
在Android平台上,`android.hardware.camera2`是官方提供的高级相机API,它提供了更精细的控制和更高的灵活性,使得开发者能够创建具有专业级别的自定义相机应用。这个API在Android 5.0(API级别21)引入,替代了...
android开发所需Jar包,是开发手机时的必备开发包
总结,这个Android Wi-Fi开发Demo示例提供了一个完整的流程,从查找可用的Wi-Fi网络,到连接选定的网络,再到通过Wi-Fi进行数据交换,为开发者提供了实践和学习Android Wi-Fi编程的基础。理解并掌握这些知识点,有助...
自学Android应用开发是一个充满挑战和乐趣的过程,但同时也可能让人感到困惑和迷茫。为了帮助初学者更有效地掌握Android开发,以下是一份详细的学习路径和资源推荐。 首先,基础的Java语法是Android开发的基石。...
《Google Android开发入门与实战》是一本针对Android平台应用开发的全面指南,旨在帮助有一定软件开发经验的程序员快速进入Android开发领域。本书通过详细讲解Android的基础知识、环境搭建、SDK介绍、Market使用以及...
这本书深入浅出地讲解了Android开发中的各种技术难点和最佳实践,旨在帮助开发者提升技能,提高开发效率。书中涵盖了许多关键知识点,包括但不限于: 1. **Activity生命周期**:Android应用的核心组件之一,理解其...
第1篇介绍Android开发环境及搭建、Android工程的创建和调试方法;第2篇介绍计算器、电子词典、文件管理器、备忘录、短信收发工具、通讯录、任务管理器、软件管理器;第3篇介绍Android公交查询、股票查询软件、Google...