原文: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. SpringBoot使用JSP渲染页面

    1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  2. poi导出excel合并单元格(包括列合并、行合并)

    1 工程所需jar包如下:commons-codec-1.5.jarcommons-logging-1.1.jarlog4j-1.2.13.jarjunit-3.8.1.jarpoi-3.9-2012 ...

  3. python之模块ftplib(FTP协议的客户端)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(FTP协议的客户端) #需求:快速进行ftp上传 ,下载,查询文件 from ...

  4. python之模块cmath

    # -*- coding: utf-8 -*-#python 27#xiaodeng#python之模块cmath #复数的数学函数,如log.tan.sin等函数用法,针对我目前的情况用途较少,暂不 ...

  5. 转 Linux定时执行任务命令at和crontab

    本文介绍在Linux下的两种定时执行任务的方法:at命令,以及crontab服务. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定 ...

  6. 解决sublime的中文乱码

    1.Sublime text 3 中文文件名显示方框怎么解决 在sublime text 3中,Preference, Settings-User,最后加上一行"dpi_scale" ...

  7. iOS中coreData的用法

    // // ViewController.m // coredatademo002 // // Created by ganchaobo on 13-6-29. // Copyright (c) 20 ...

  8. Android之Activity系列总结(三)--Activity的四种启动模式

    一.返回栈简介 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈,也叫任务栈)中. 首先介绍一下任务栈: (1)程序打开时 ...

  9. JAVA中线程池的简单使用

    比如现在有10个线程,但每次只想运行3个线程,当这3个线程中的任何一个运行完后,第4个线程接着补上.这种情况可以使用线程池来解决,线程池用起来也相当的简单,不信,你看: package com.dem ...

  10. B. Eight Point Sets

    B. Eight Point Sets http://codeforces.com/contest/334/problem/B   time limit per test 1 second memor ...