10_android打包的过程

java代码先编译成.class,最后打包成.dex.resources uncompiled resources:不需要编译的资源:资产目录assets 清单文件
用来标识唯一的安卓应用:签名和包名。

Android Tools->Export Signed Application Package

最终生成的这个keystore文件就是给你进行打包的。拿这个keystore对你的应用进行签名。keystore文件的密码忘了改不了,而且忘了之后你的签名文件就用不了了。每次签名的时候都要去添加这个签名文件的密码。


Alias:别名
Validity:有效期 如果是在Google Play这个市场去发布应用的话必须要有23天的有效期。
key过期之后换一个key那么你的当前应用就和之前的应用不是同一个应用了。你想版本再进行升级就提升用户把之前的卸载掉,卸载掉之后再下载一个重装。那样就意味着你有一部分用户卸载掉之后就不再装你的应用了。所以key一定要保存好,密码一定要记住,有效期尽量设置时间长一点。
项目的包名和项目的签名是作为安卓项目唯一性的标志。如果包名相同签名不同那么后装的应用是装不上去的。你一装它会提示你有当前的设备上有一个同包名的应用,但是签名冲突。所以后装的东西是装不上去的。如果现在想装就把之前的卸载掉然后再装新的。如果包名不同的话压根就不是同一个应用了。
keystore文件过期了换一个key面临一个问题是你就要把之前的卸载掉不能再进行覆盖安装了。 所以每一次打包的时候都要改一下电脑的时间改到没过期的时间再进行打包。那样就比较麻烦了。这就是打包的签名过程。


签名之后把项目发布到设备上,这个时候就要用到ADB(Android Debug Bridge)安卓调试桥就是把你的IDE和设备连接到一起的这么一个程序。ADB可以让你的设备和IDE连接在一起。通过ADB可以把项目放到设备上。
打包的过程:编译生成APK->签名 右键Run As用的是Debug签名,Debug签名是不能发布到市场上,发布到市场上就得用到咱们刚才演示的签名的过程->通过ADB就可以把咱们的项目发布到设备上去进行运行了。
10_android打包的过程的更多相关文章
- Android应用打包安装过程具体解释
Android应用打包安装过程(Run as Android Application ): 1,过程:Android Project --> Compilation and Packaging ...
- android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)
右击项目名称,Run as Android Appication之后,Android项目打包安装过程: 1.打包生成.apk文件: 1)把源码中的.java文件编译生成.class文件 2)将所有的. ...
- Webpack安装配置及打包详细过程
引言 前端经过漫长的发展,涌现出了很多实践方法来处理复杂的工作流程,让开发变得更加简便,其中,模块化可以使复杂的程序细化成为各个小的文件,而webpack并不强制你使用某种模块化方案,而是通过兼容所有 ...
- [问题记录]cocos2dx编译打包apk过程&问题记录
目录: 1. 入门 2. 编译 3. 问题 4. 总结 5. 参考 ------------------------------------------------------------------ ...
- vscode调试webpack的启动和打包部署过程,nodejs调试
launch.json ``` { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.micr ...
- Cordova 打包 Android release app 过程详解
Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...
- C#打包制作安装程序过程全记录
该文是根据网上的文章并结合自己实际打包的过程而整理的. 开发平台:VisualStudio2005中文版. 步骤如下: 1. 创建一个安装向导项目或安装部署项目 新建项目-〉其他项目类型-〉安装与部署 ...
- 【转】android Apk打包过程概述_android是如何打包apk的
最近看了老罗分析android资源管理和apk打包流程的博客,参考其他一些资料,做了一下整理,脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程. 流程概述: 1.打包资源文件,生成 ...
- 使用meaven打包过程中遇到的一些问题
开始使用如下代码进行打包 <build> <!-- mvn assembly:assembly -Dmaven.test.skip=true --> <plugins&g ...
随机推荐
- pinpoint agent线程模型
pinpoint agent线程模型 以下分析基于pinpoint1.7.1版本 pinpoint agent主要使用到的异步线程有4个 DeadlockMonitorThread : 死锁监测线程, ...
- HackerRank - angry-children 【排序】
题意 求一个序列当中 其 长度为 K 的子序列 中的 最大值 - 最小值 求 这个值 最小是多少 思路 先将序列排序 然后 I = 0, J = K - 1 然后 往下遍历 如果 arr[j] - a ...
- samsung n143 brightness on linux mint
sudo vi /etc/default/grub Find the line which says GRUB_CMDLINE_LINUX="" enter acpi_backli ...
- Java多线程系列 JUC线程池02 线程池原理解析(一)
转载 http://www.cnblogs.com/skywang12345/p/3509960.html ; http://www.cnblogs.com/skywang12345/p/35099 ...
- Spring Cloud之Ribbon与Nginx区别
客户端负载均衡器 在SpringCloud中Ribbon负载均衡客户端,会从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地. 让后在本地实现轮训负载均衡策略. Ribbon与Nginx ...
- 大话设计模式--命令模式 Command -- C++实现实例
1. 命令模式: 将请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作. 命令模式有点: a. 较容易的设计一个命令队列 b. 在需要的的情况 ...
- Spark- SparkStreaming可更新状态的实例
Producer package zx.zx.sparkkafka import java.util.Properties import kafka.producer.{KeyedMessage, P ...
- Linux下c++11多线程聊天室
刚看的c++11多线程,写个聊天室试试编译的时候加上 c++11 和 多线程库g++ -Wall -std=c++0x -pthread -o server server.cppserver 和cli ...
- R语言编程中的常见错误
R语言编程中的常见错误有一些错误是R的初学者和经验丰富的R程序员都可能常犯的.如果程序出错了,请检查以下几方面. 使用了错误的大小写.help().Help()和HELP()是三个不同的函数(只有第 ...
- Eclipse 下配置MySql5.6的连接池,使用Tomcat7.0
目前找到的最简单的配置方法. 1.首先在eclipse中创建一个Dynamical Web Application,在WebContent文件夹下的META-INF文件夹中创建新的名为conten ...