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插件开发实践
plugin基本结构 一个plugin主要由三部分构成,插件类增强定义(ProfilerPlugin接口实现).插件描述定义(TraceMetadataProvider接口实现).增强类拦截器实现(A ...
- NetBeans字体设置
01.找到自己java字体目录.我的目录是[C:\Program Files\Java\jdk1.7.0_21\jre\lib] 02.复制fontconfig.properties.src, 重命名 ...
- POJ 1611并查集
我发现以后写题要更细心,专心! #include<iostream>#include<algorithm>#include<stdio.h>#include< ...
- 在cmd中将FAT32转换为NTFS分区的命令是什么?
将FAT32转换为NTFS分区的命令是什么? ========================================== 在cmd命令行模式下输入: convert x: /fs:ntfs ...
- table+css与xhtmL+css实现同一登陆框(代码片段)
1.从网上下载了一个不错的登录框样式(table结合css布局): 2.初学xhtmL,自己改写了一下,希望有用 3. 我怎么不会上传截图呢? 1. [代码]xhtml_css组合 < ...
- HTML5坦克大战1
在JavaScript中,不要在变量为定义之前去使用,这样很难察觉并且无法运行. 颜色不对. 当我的坦克移动时,敌人坦克消失. tankGame3.html <!DOCTYPE html> ...
- HTML5 学习记录——0
2015/08/19 HTML5的标签功能划分:基础.格式.表单.框架.图像.音视频.链接.列表.表格.样式.元信息.编程 1.HTML基础标题 <h1> - <h6>段落 & ...
- [转载]C++Assert()函数
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include <assert.h> void assert( i ...
- Centos7搭建Mysql-5.6.38,及主从复制。
Server1:192.168.1.189 (主) Server2:192.168.1.190 (从) 1.关闭默认的firewalld防火墙,安装iptables. systemctl disa ...
- HIVE SQL JOIN
最近总结了一下hive表关联的用法,与Postgres表关联还是有细微差别,总结在这里方便以后查看. join语法 join_table: table_reference [INNER] JOIN t ...