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

本文中你将了解到:

1. 在真机上运行App

2. 在模拟器上运行App

你还应该阅读:

1. Using Hardware Devices(官网页面,站内页面)

2. Managing Virtual Devices(官网页面,站内页面)

3. Managing Projects(官网页面,站内页面)


Running Your App 运行App

如果你跟随上一节创建了一个Android工程,那么它包含了一组默认的, 直接就可以正确的运行的 “Hello World”源文件。

运行您的这个应用程序取决于两件事情:是否拥有一个真实的基于Android的设备并且是否使用Eclipse。这一节说明如何安装和运行应用程序在真实的设备或者是Andorid模拟器上,不论您是使用Eclipse还是命令行工具。

在你运行您的应用程序前,你应该认识一下Android工程中几个目录和文件。

AndroidManifest.xml
这个manifest文件描述应用程序的基本属性,并且定义 应用程序中 的每一个组件。您今后学习更多的课程时将会学到其中更多的声明。

是应该包含在你的manifest文件中最重要的元素之一。它用android:minSdkVersion 和android:targetSdkVersion属性描述了你app在不同android版本之间的适应性。在你的第一个app中,它应该看起来像这样:

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

你应该将android:targetSdkVersion 设置的越高越好并将你的app在相对应的平台上进行测试。更多信息,请阅读Supporting Different Platform Versions.

src/
这个目录是您的源程序的主要目录。在默认情况下,目录包含一个Activity类,当您点击应用程序图标时就会运行它。

res/
包含几个子目录,里面是应用程序的资源文件。下面是几个例子:

-**drawable-hdpi/**
这里存放的是 为高分辨率(hdpi)屏幕所设计的 drawable objects(bitmaps图片)。其他的drawable目录包含为其他分辨率设计的资源(图片)。

-**layout/**
这个目录的文件用来定义应用程序的用户界面。

-**values/**
此目录包含其他各种资源集合的 XML文件 ,比如字符串、颜色的定义。

当您构建和运行默认的Android工程,在src目录中默认的Activity类就开始运行,并且从layout目录加载一个布局文件,这个布局文件包括一个“Hello World"信息。虽然没什么好激动的,但是这对您在实现真正功能的应用程序前,理解怎样构建和运行应用程序是非常重要的。


在真机上运行App

不论您是使用Eclipse还是命令行工具,您需要:

  • 1、用USB线缆连接您的Android设备和电脑。如果您在Windows环境中开发,您需要为设备安装正确的USB驱动。需要得到安装驱动的帮助,请看文档《OEM USB驱动》。
  • 2、确保设备中的”USB调试“选项被打开(多数是在"设置"->"应用程序"->"开发"或者是在4.0以上系统中的"开发人员选项"中)。 从Eclipse中运行应用程序,打开一个您的工程文件,点击工具条中的Run。Eclipse会安装应用程序到您所连接的设备中并开始运行它。

或者你可以从命令行运行应用程序

  • 1、切换到您的Android工程的根目录,并且执行:
1
ant debug
  • 2、目录已经加入"PATH"环境变量中,然后执行:
1
adb install bin/MyFirstApp-debug.apk
  • 3、在您的设备上,找到 MyFirstActivity并打开它。

如果要开始给应用程序添加些东西,请继续下课的学习。


在模拟器上运行App

不论您使用Eclipse还是命令行工具,首先需要创建一个Android虚拟设备(AVD),AVD是一个针对设备配置的Android模拟器,它允许你更改各种不同的设备配置。

图 1. AVD 管理器演示几个虚拟设备.

创建一个AVD:

1、打开Android虚拟设备管理器:

a:在Eclipse中,选择 Window > AVD Manager,或者在工具栏上点击 AVD Manager 的图标。

b:在命令行中,切换到/tools/目录,并执行:

1
android avd

2、android avd在 Android Virtual Device Device Manager面板上点击 New .

3、填写AVD详细信息,给它起个名字,选择目标平台,SD卡的容量和屏幕尺寸。

4、点击 Create AVD

5、在 Android Virtual Device Manager 中选择新建的AVD,并且点击 Start。

6、模拟器启动后,解锁模拟器的屏幕。

从Eclipse中运行应用程序,打开您的一个工程文件,并点击工具条上的Run。Eclipse 会安装应用程序到您的AVD并运行它。

或者从命令行来运行您的应用程序:

1、切换到Android工程的根目录,并运行:

1
ant debug

2、确保Android SDK platform-tools/ 目录包含在PATH环境变量中,然后运行:

1
adb install bin/MyFirstApp-debug.apk

3、在模拟器中,找到 MyFirstActivity并打开它。

开始往应用程序中添加些东西,请继续下一课

如何运行你的Android程序?的更多相关文章

  1. 【Android实验】第一个Android程序与Activity生命周期

    目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...

  2. 正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法

    正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法 例如:一个android程序包含两个Activity,分别为MainActivity和Other ...

  3. Eclipse开发Android程序如何在手机上运行

    android开发不论是在真机上调试还是最终发布到真机上都非常简单,过程如下: 1.安装usb驱动 手机要能与电脑相连,当然要安驱动了.效果就是你插入手机,电脑显示驱动已识别.驱动安装的官方教程:ht ...

  4. 用代码如何检测一个android程序是否在运行

    /** * 检测一个android程序是否在运行 * @param context * @param PackageName * @return */ public static boolean is ...

  5. Android程序能够构建和运行,但是报以下报错,为什么?

    安卓程序写完之后能够构建和运行,但是会报以下的错误.不知道原因为何?求大神解答. 网上说的是混淆编译的原因,不过程序没有开启混淆编译. Error:warning: Ignoring InnerCla ...

  6. 运行Android程序出错:The connection to adb is down, and a severe error has occured

    调试Android程序时候,报错如下: [2013-02-21 15:41:06 - MainActivity] ------------------------------[2013-02-21 1 ...

  7. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  8. Android 程序打包及签名

    为什么要签名??? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的. 由于开发商可能通过使用相同的Package Name来 ...

  9. Android程序crash处理

    Android程序crash处理 时间 2014-11-24 13:45:37  CSDN博客 原文  http://blog.csdn.net/allen315410/article/details ...

随机推荐

  1. jquery vue 框架区别

    1.数据和视图分离,解耦 2.以数据驱动视图,只关心数据变化,DOM操作被封装

  2. Servlet简介与生命周期

    一:Servlet是什么 Servlet是运行在Web服务器上的Java程序,作为处理来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层.JSP在w ...

  3. GoldenGate 12c + Oracle 12c Multitenant Container databases

    下面为GoldenGate 12c + Oracle 12c Multitenant Container databases例子 1.安装OGG 源 端OGG: C:\Oracle\product\1 ...

  4. ViewPager实现无限循环

    引言 这两天在项目里实用到ViewPager来做广告运营位展示.看到如今非常多APP的广告运营位都是无限循环的,所以就研究了一下这个功能的实现. 先看看效果 从一个方向上一直滑动.么有滑到尽头的感觉. ...

  5. 编程填空:第i位取反

    总时间限制: 1000ms 内存限制: 1024kB描述写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位是n的第i位取反,其余位和n相同 请使用[一行代码]补全bitManipulati ...

  6. 9273:PKU2506Tiling

    9273:PKU2506Tiling 来源:http://noi.openjudge.cn/ch0202/9273/ 总时间限制:2000ms  单个测试点时间限制:1000ms内存限制:131072 ...

  7. Q值, 电感Q因素, 电感品质因素, Inductor Q, Quality Factor

    Q值基本概念 Q值, 品质因素, Quality Factor 是广泛使用于物理和工程领域的一个参数, 这指的是一个机械或非机械的组件里, 共振(谐振)的能量损失比例, 是衡量一个元件或谐振回路性能的 ...

  8. Javascript判断Crontab表达式是否合法

    这段时间在做Quartz任务调度,使用的Crontab表达式实现的.Crontab由前端页面输入,作为参数穿入后台. 虽然Quartz具有校验Crontab表达式的方法,如下: boolean cro ...

  9. xml中“ < > ”转义为“ &lt; &gt; ”问题处理

    曾经也碰到过类似问题,解决方法是在发送或者解析报文前执行上面的方法将内容转义一下,现在我用dom4j组装如下的报文(报文体中内容传输时加密处理),大致介绍一下上面方法的使用,具体看代码. import ...

  10. std::string std::wstring 删除最后元素 得到最后元素

    std::string str = "abcdefg,"; std::cout << "last character:"<<str.ba ...