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 ...
随机推荐
- Block的详细介绍
关于block的介绍 ==ios中的内存空间分级== 栈区 存放函数参数值.局部变量.函数返回地址等,函数跳转跳转时现场保护(寄存器),这些系统都会帮我们自动实现,无需我们干预. 所以大量的局部变量, ...
- Linuxshell资料汇总
1.判断文件是否存在 https://www.cnblogs.com/platero/p/4021561.html 2.日期赋值 https://www.cnblogs.com/lonelywolfm ...
- cat echo 打印菜单
cat << END ============================= 1.apple 2.pear 3.banana ...
- wget 实现web监控脚本
#!/bin/sbin timeout= times= url=https://1.1.1.1 while true;do wget --no-check-certificate --timeout= ...
- Exception in thread "main" java.io.IOException: Mkdirs failed to create /var/folders/q0/1wg8sw1x0dg08cmm5m59sy8r0000gn/T/hadoop-unjar6090005653875084137/META-INF/license at org.apache.hadoop.util.Run
在使用hadoop运行jar时出现. 解决方法 zip -d Test.jar LICENSE zip -d Test.jar META-INF/LICENSE 完美解决.
- 大话设计模式--模板方法模式 TemplateMethod -- C++ 实现
1. 模板方法模式: 定义一个操作中的算法骨架,而将一些操作延迟到子类, 模板方法模式使得子类可以不改变一个算法的结构既可以重定义该算法的某些特定步骤. 当不变和可变的行为在方法的子类实现中混在一起的 ...
- String类的写法
听侯捷老师讲课的笔记: string.h头文件: #pragma once class String { public: String(const char* cstr); String(const ...
- WCF之契约的分类(部分為參考他人)
什么是契约呢?在使用WCF时,对其制定各种各样的规则,就叫做WCF契约.任何一个分布式的应用程序在传递消息的时候都需要实现制定一个规则. 任何一个分布式应用程序,它之所以能够互相传递消息,都是事先制定 ...
- io.js的六大新特性
io.js是nodejs的友好版的分支("friendly fork”).它支持npm中所有的同样模块,且使用了v8最新版本的截取(v8是被node.js使用js解释器),且修复了很多的bu ...
- Python基础-数据写入execl
import xlwt book = xlwt.Workbook()#创建一个excel sheet = book.add_sheet('lanxia')#添加一个sheet页 title = ['姓 ...