如果你按照前面课程创建了 Android 项目,它包含了可以立即运行的 “Hello World”源代码文件。

由两该条件来决定如何运行你的应用:你是否拥有运行着 Android 的设备和你是否使用 Eclipse。 本节课向你展示了如何将你的应用安装到实机和 Android 模拟器上,并且包含了使用 Eclipse 和使用命令行工具两种情况。

在你运行应用之前,你应该先了解一下 Android 项目中的一些目录和文件:

AndroidManifest.xml
清单文件描述了应用的基本特征, 并定义其每个组件。你要通过阅读更多的教程来学习文件中的各种声明方法。

在清单文件中应该包含的最重要的元素是 <uses-sdk>
它通过使用android:minSdkVersion属性和android:targetSdkVersion属性来声明,应用在不同
Android 版本间的兼容性。 他看起来应该像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
    ...
</manifest>

你应该将android:targetSdkVersion设置为尽可能高的版本,并在该版本平台下测试你的应用。
更多信息可以阅读支持平台的不同版本

src/
存放应用程序主要源代码文件的目录。默认包含一个可以通过应用图标启动的 Activity 类。
res/
包含几个用于存放应用资源的子目录。 部分列举如下:

drawable-hdpi/
存放设计用于高分辨率(HDPI)屏幕的可绘制对象(比如位图文件)的目录。其他以 drawable 起始的目录包含设计用于其他屏幕分辨率的可绘制对象。
layout/
该目录包含用于定义应用的用户界面的文件。
values/
该目录存放其它包含资源集合的 XML 文件,比如字符串和颜色定义。

如果你构建并运行默认 Android 应用,默认 Activity 会启动并载入布局文件,
在屏幕上显示“Hello World.”字样。 没什么可以激动的,只是让你在开始开发之前让你了解如何运行应用。

在实机上运行程序


如果你拥有运行着 Android 的设备,如何安装和运行你的应用在这里:

  1. 将你的设备通过 USB 线插到开发用的机器上。 如果你在 Windows 上开发, 你可能需要为你的设备安装对应的 USB 驱动。关于驱动的安装,参见关于 OEM USB 驱动文档。
  2. 在你的设备上启用USB 调试功能。
    • 在大多数运行着 Android 3.2 或更低的系统上,你可以在设置 > 应用程序 > 开发 中找到该选项。
    • 在 Android 4.0 或更新的系统中,它在设置 > 开发选项中。

      注意: 在 Android 4.2 或更新的系统中,开发选项 默认是不可见的。 要使其可用,需要在设置 > 关于手机画面点击 Build number七次。然后回到之前的画面,就可以找到开发选项 了。

从 Eclipse 中运行应用:

  1. 打开一个项目文件,按下工具栏中的 Run 按钮。
  2. 在出现的 Run as窗口中选择Android Application并按下 OK按钮。

Eclipse 会向连接的设备中安装应用并启动它。

或者从命令行运行你的应用:

  1. 将目录切换到你的 Android 项目的根目录并执行:

    ant debug
  2. 确信 Android SDK 的platform-tools/目录包含在你的PATH环境变量中,执行:
    adb install bin/MyFirstApp-debug.apk
  3. 在你的设备上找到MyFirstActivity并打开。

如何在设备上构建并运行 Android 应用就讲完了!要开始开发就继续学习下一课

在模拟器上运行程序


无论你使用 Eclipse 还是命令行,在模拟器上运行应用之前你需要创建一个Android 虚拟设备(AVD)。 AVD 是 Android 模拟器的 设备配置,它允许你模拟不同的设备。

图1 - AVD 管理器显示了一些虚拟设备。

创建 AVD:

  1. 运行 Android 虚拟设备管理器:

    1. 在 Eclipse 中,点击工具栏中的 Android 虚拟设备管理器图标。
    2. 使用命令行则切换目录到<sdk>/tools/并执行:
      android avd
  2. 在 Android 虚拟设备管理器面板上点击New按钮。
  3. 填写 AVD 的详细内容。 填上名字、目标平台、SD 卡大小和皮肤(默认为 HVGA)。
  4. 点击Create AVD按钮。
  5. Android 虚拟设备管理器中选择新建的 AVD 并点击Start按钮。
  6. 模拟器启动后,为虚拟器屏幕解锁。

从 Eclipse 中运行应用:

  1. 打开一个项目文件,按下工具栏中的 Run 按钮。
  2. 在出现的 Run as窗口中选择Android Application并按下 OK按钮。

Eclipse 会向 AVD 中安装应用并启动它。

或者从命令行运行你的应用:

  1. 将目录切换到你的 Android 项目的根目录并执行:

    ant debug
  2. 确信 Android SDK 的platform-tools/目录包含在你的PATH环境变量中,执行:
    adb install bin/MyFirstApp-debug.apk
  3. 在你的模拟器上找到MyFirstActivity并打开。

如何在模拟器上构建并运行 Android 应用就讲完了!要开始开发就继续学习下一课

android第二课:运行你的应用的更多相关文章

  1. android从放弃到坚持放弃第二课(下)

    续第二课( 下) 续第二课 下 活动的生命周期 返回栈 活动状态 活动的生存期 体验活动的生命周期 活动被回收怎么办 活动的启动模式 standard singleTop singleTask sin ...

  2. Android OpenGL教程-第二课【转】

    第二课 你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形.也许你认为这很简单,但你已经迈出了一大步,要知道任何在OpenGL中绘制的模型都会被分解为这两种简单的图形. 读完了 ...

  3. Android之ViewPager 第二课

    在这里只粘贴部分代码 在第一课中,只有View滑动完毕,才触发动画效果,令滑块移动,在第二课中,将实现滑块与View同步运行. SecondActivity.java package com.andr ...

  4. 【第二课】深入理解Handler

    简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的 ...

  5. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  6. NeHe OpenGL教程 第二课:多边形

    前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...

  7. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

  8. 【C++探索之旅】第一部分第二课:C++编程的必要软件

    内容简介 1.第一部分第二课:C++编程的必要软件 2.第一部分第三课预告:第一个C++程序 C++编程的必要软件 经过上一课之后,大家是不是摩拳擦掌,准备大干一场了呢. 这一课我们来做一些C++开发 ...

  9. 【Linux探索之旅】第一部分第二课:下载Linux,免费的噢

    内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...

随机推荐

  1. 免费的 Vue.js 入门与进阶视频教程

    这是我免费发布的高质量超清「Vue.js 入门与进阶视频教程」. 全网最好的.免费的 Vue.js 视频教程,课程基于 Vue.js 2.0,由浅入深,最后结合实际的项目进行了最棒的技术点讲解,此课程 ...

  2. C语言----数据类型(基础篇一)

    C语言的入门程序模板 #include <stdio.h> /*使用或者包含系统里面的程序*/ main() /*程序入口点*/ { /*起点*/ +; /*叫计算机执行的指令*/ } / ...

  3. Name方法

    重命名磁盘文件.目录或文件夹. 语法 Name 旧路径名称 As 新路径名称 “Name”**** 语句语法包含以下部分: 部分 说明 旧路径名称 必需. 字符串表达式,指定现有的文件名和位置;可能包 ...

  4. margin不生效问题

    问题机型 魅族M353 Android 5.0.1 问题描述 设置了margin-top: 15px; 但是在该机型上不生效 解决方案 使用padding 替代 margin

  5. 牛客多校第三场-A-PACM Team-多维背包的01变种

    题目我就不贴了...说不定被查到要GG... 题意就是我们需要在P,A,C,M四个属性的限制下,找到符合条件的最优解... 这样我们就需要按照0/1背包的思路,建立一个五维度数组dp[i][j][k] ...

  6. Linux内核分析 读书笔记 (第五章)

    第五章 系统调用 5.1 与内核通信 1.调用在用户空间进程和硬件设备之间添加了一个中间层.该层主要作用有三个: 为用户空间提供了硬件的抽象接口. 系统调用保证了系统的稳定和安全. 实现多任务和虚拟内 ...

  7. jeecg中vaildfrom的复杂的表单校验

    简介 jeecg生成的页面都是使用validfrom组件来确保数据的完整性和准确性. 凡要验证格式的元素均需绑定datatype属性,datatype可选值内置有10类,用来指定不同的验证格式. 如果 ...

  8. Distances to Zero CodeForces - 803B (二分)

    题目链接:https://vjudge.net/problem/CodeForces-803B#author=0 题意: 给你一个数组,其中至少包括一个0,求每一个元素距离最近一个0的距离是多少. 样 ...

  9. 3-Python3从入门到实战—基础之数据类型(数字-Number)

    Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...

  10. Spring Cloud集成EDAS(替代Eureka)

    https://help.aliyun.com/document_detail/72618.html?spm=5176.7946893.821398.spring-cloud.603123beXemW ...