原文:http://android.eoe.cn/topic/android_sdk

在生成过程中,你的Android项目的编译和打包成一个apk文件,为您的应用程序二进制的容器。它包含了所有必要的信息来运行您的应用程序在设备或模拟器,如编译dex文件(。class文件转换到Dalvik字节码),AndroidManifest.xml文件的二进制版本,编译的资源(resources.arsc )和未编译您的应用程序的资源文件。

如果您正在开发的ADT插件在Eclipse中,递增地建立您的项目的源代码进行更改。Eclipse的自动输出。apk文件到项目的bin文件夹中,这样你就不必做任何额外的生成。apk文件。

如果你正在开发一个非Eclipse环境中,你可以建立你的项目生成的build.xml Ant文件是在项目目录。 Ant文件的要求,自动调用的制作工具。你的目标。
要运行一个仿真器或设备上的应用程序,该应用程序必须签署使用调试或发布模式。你通常要签署您的应用程序在调试模式下,当你开发和测试您的应用程序,因为生成工具使用调试与已知的密码,所以您不必输入每次生成的关键。当你准备发布应用程序谷歌游戏,你必须使用自己的私钥签名的应用程序在释放模式。

幸运的是,Eclipse或者Ant构建脚本的迹象,为你的应用程序在调试模式下,当你建立你的应用程序。您还可以轻松地设置Eclipse或者Ant构建以及签署您的应用程序在释放模式。对应用程序进行签名的详细信息,请参阅您的应用程序签名。

下图描述了参与建设和运行应用程序的组件:
文件:Build-simplified.png

'''在生成过程的详细分析

在生成过程涉及到许多工具和流程,生成中间文件的方式产生的。apk。如果您正在开发在Eclipse中,完整的构建过程是自动进行定期为您开发并保存您的代码更改。如果您使用的是其他的IDE,这个构建过程完成后每次运行生成的Ant构建脚本为您的项目。这是有用的,但是,了解什么是引擎盖下发生,因为很多的工具和流程被屏蔽你。下图描述了在构建不同的工具和过程所涉及的:
文件:Build.png
下面列出的一般过程为一个典型的构建:
* Android的资产打包工具(AAPT)把你的应用程序资源文件,如AndroidManifest.xml文件和XML文件为您的活动,并编译它们。一个R.java文件也产生这样你就可以从Java代码中引用你的资源。
* aidl工具。AIDL接口,你进入Java接口转换。
* 你的Java代码,包括R.java文件。aidl文件,由Java编译器编译的类文件输出。
地塞米松工具。class文件到Dalvik字节码转换。任何第三方库和类文件已包含在您的项目也被转换为。dex文件,使他们能够进入决赛。apk文件进行打包。
* 所有非编译的资源(如图片),编译的资源,并发送的apkbuilder工具。dex文件打包到一个。apk文件。
一旦apk文件建立的,它必须签署一个调试或释放键,然后才可以安装在设备上。
* 最后,如果被签署的应用程序在发布模式下,你必须保持一致。apk文件的zipalign工具。调整最终的apk文件在设备上运行应用程序时减少内存的使用情况。

如何打包和生成你的Android应用程序的更多相关文章

  1. Android应用程序资源的编译和打包过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8744683 我们知道,在一个APK文件中,除了 ...

  2. android应用程序的混淆打包

    android应用程序的混淆打包 1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示: target=android- ...

  3. 如何发布打包并发布自己的Android应用(APP)

    如何将android项目打包成apk 分类: android 2012-08-29 10:12 1678人阅读 评论(1) 收藏 举报 androideclipseapplicationjdkjava ...

  4. Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案

    原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...

  5. VS生成Cordova for Android应用之Gradle

    原文:VS生成Cordova for Android应用之Gradle 一.Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基 ...

  6. Grunt打包Electron,生成exe的安装包

    在之前的博客:3.electron打包生成exe文件 我们已经得到了electron打包好的应用了,目录如下,但是我们如何整合成一个安装程序,发给客户使用呢? 我们可以使用grunt-electron ...

  7. Android开发之 Android应用程序目录结构解析

    建立的HelloWorld的应用项目,其代码是由ADT插件自动生成的,形成Android项目特有的结构框架. 接下来让我带领大家解析一个Android程序的各个组成部分,这次我们拿一个Hello,Wo ...

  8. 第一个android应用程序

    首先打开Eclipse和一个AVD.在Eclipse中选择File→New→Project→Android→Android Application Project 点击Next,按照下图所示填写 注: ...

  9. Android应用程序插件化研究之AssertManager

    最近在研究Android应用的插件化开发,看了好几个相关的开源项目.插件化都是在解决以下几个问题: 如何把插件apk中的代码和资源加载到当前虚拟机. 如何把插件apk中的四大组件注册到进程中. 如何防 ...

随机推荐

  1. “Info.plist” couldn’t be removed

    Showing All Messages error: failed to remove /Users/Rubert/Library/Developer/Xcode/DerivedData/Proje ...

  2. 深入理解JVM(三)——垃圾收集策略具体解释

    Java虚拟机的内存模型分为五个部分.各自是:程序计数器.Java虚拟机栈.本地方法栈.堆.方法区. 这五个区域既然是存储空间,那么为了避免Java虚拟机在执行期间内存存满的情况,就必须得有一个垃圾收 ...

  3. 【PMP】财务测量指标ROI、PBP、NPV、IRR、BCR

    各指标说明: 1.投资回报率(ROI) 定义:是指通过投资而应返回的价值,即企业从一项投资活动中得到的经济回报. 1.1 年平均利润相等的情况下 公式:ROI=年平均利润/投资额 案例: 1.2 年平 ...

  4. javascript库之Mustache库使用说明

    一.简单示例 代码: function show(t) { $("#content").html(t); } var view = { title: 'YZF', cacl: fu ...

  5. python之模块contextlib 加强with语句而存在

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块contextlib,为加强with语句而存在 #特别注意:python3和python2 ...

  6. DirectX中文手册

    目  录 第一章 DirectX基础(初级篇) 第一节  什么是DirectX 一.什么是DirectX ? 二.DirectX的组成部分 三.关于DirectDraw 四.为什么要使用DirectD ...

  7. [转载]将archlinux 2013-06-01版,安装配置为个人工作站

    原文地址:将archlinux 2013-06-01版,安装配置为个人工作站作者:老圃无蔓 安装所使用的镜像为:archlinux-2013.06.01-dual.iso.首先请看看我安装完成之后的效 ...

  8. 由m种数字组成的n位数有多少个

    知乎链接 问题描述 我和我女朋友的QQ号都是九位数字,这九个数字是有七个不同的数字组成的,我想问这种概率是多大,我们是不是特别我看缘分呢?求大神给算一下概率! 思路 定义问题:由7种数字组成的9位数一 ...

  9. JavaScript HTML DOM 入门详解

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过 ...

  10. 【LeetCode】234. Palindrome Linked List (2 solutions)

    Palindrome Linked List Given a singly linked list, determine if it is a palindrome. Follow up:Could ...