14

我正在尝试设置 android SDK 以在 Linux(Ubuntu 9.10)的命令行上开发一个简单的程序。我试过 eclipse,但它知道在 Ubuntu 上运行有问题,所以我放弃了。这是我到目前为止所做的:

  1. 从http://developer.android.com/sdk/index.html下载了 android-sdk_r05-linux_86.tgz
  2. tar xvzf android-sdk_r05-linux_86.tgz
  3. ln -s android-sdk-linux_86 安卓
  4. 在 .tcshrc 添加 setenv PATH .....:/home/user/android/tools
  5. 源.tcshrc
  6. 运行“机器人”。这打开了一个gui。在可用软件包下:我安装了所有东西,然后退出了 gui。
  7. 运行'android list targets'并列出了这些:

可用的 Android 目标:

id: 1 or "android-3" Name: Android 1.5 Type: Platform API level: 3 Revision: 1 Skins: HVGA-P, HVGA (default), QVGA-P, QVGA-L, HVGA-L

id: 2 or "Google Inc.:Google APIs:3" 名称: Google APIs 类型: Add-On Vendor: Google Inc. 版本: 3 描述: Android + Google APIs based on Android 1.5 (API level 3) Libraries: * com .google.android.maps (maps.jar) 用于 Google 地图皮肤的 API:QVGA-P、HVGA-L、HVGA(默认)、QVGA-L、HVGA-P

id: 3 or "android-4" Name: Android 1.6 Type: Platform API level: 4 Revision: 1 Skins: HVGA (default), WVGA800, WVGA854, QVGA

id:4 或“Google Inc.:Google APIs:4”名称:Google APIs 类型:附加供应商:Google Inc. 版本:2 描述:Android + Google APIs 基于 Android 1.6(API 级别 4)库:* com .google.android.maps (maps.jar) 用于 Google 地图皮肤的 API:WVGA854、HVGA(默认)、QVGA、WVGA800

id: 5 or "android-6" Name: Android 2.0.1 Type: Platform API level: 6 Revision: 1 Skins: WQVGA432, HVGA (default), WVGA800, WVGA854, WQVGA400, QVGA id: 6 or "Google Inc.: Google APIs:6" 名称:Google APIs 类型:附加供应商:Google Inc. 版本:1 描述:基于 Android 2.0.1(API 级别 6)的 Android + Google APIs 库:* com.google.android.maps( maps.jar) 用于 Google 地图皮肤的 API:WQVGA400、WVGA854、HVGA(默认)、WQVGA432、QVGA、WVGA800

id: 7 or "android-7" Name: Android 2.1 Type: Platform API level: 7 Revision: 1 Skins: WQVGA432, HVGA (default), WVGA800, WVGA854, WQVGA400, QVGA

id:8 或“Google Inc.:Google APIs:7”名称:Google APIs 类型:附加供应商:Google Inc. 版本:1 描述:Android + Google APIs 基于 Android 2.1(API 级别 7)库:* com .google.android.maps (maps.jar) 用于 Google 地图皮肤的 API:WQVGA400、WVGA854、HVGA(默认)、WQVGA432、QVGA、WVGA800

我想为我的摩托罗拉机器人创建一个简单的 hello world 程序。我应该使用这些目标中的哪一个?

我如何查看皮肤?

如果我从命令行运行“android”,它会说没有虚拟设备。虚拟设备是否与目标相同?

如何获得机器人皮肤和/或机器人目标和/或机器人虚拟设备?


我认为我需要运行类似'android create avd --target 2 --name my_avd'的东西,但不确定。是否有关于如何在某处执行此操作的分步列表?

谢谢,鲍勃

之后:

我发现我必须像这样创建目标(=虚拟设备):

android 创建 avd -t 1 -n myavd1
.......
android 创建 avd -t 8 -n myavd8

当我从命令行运行“android”时,这给了我 gui 中的 8 个虚拟设备。

有谁知道用于 Droid 的 api 级别/平台?在哪里可以买到合适的皮肤?对于 Droid 开发,我需要了解任何硬件规格吗?

最后,是否有任何步骤列表可以从命令行(linux)创建一个 hello world 应用程序并在模拟器上运行它,然后在真手机上运行它?

鲍勃

4

7 回答 7

6

虽然我经常使用 IDE(或 GUI 包装器)进行开发,但我发现 Android 的 CLI 特别令人不快。

我最近开始将我所有的 Android 项目转换为Maven管理。使用这种方法的社区越来越多,而且它可能非常令人愉快。

这个想法是围绕maven-android-plugin构建的,它完成了所有繁重的工作。有一些示例展示了各种用例(非 Java 语言、多模块项目等)。繁琐的 CLI 任务,例如使用 proguard 缩小 APK 大小、签署 APK和zipaligning APK都已 自动化

还有一种自定义格式,用于通过 Maven 存储库.apklib分发Android 库项目。

当您将所有这些功能与现有的 Maven 提供的优势(自动测试、模块支持、依赖管理、自动发布、Maven 站点生成等)结合起来时,您确实会获得一个非常简化的工作流程。

哦,它也可以控制部署模拟器!

于 2011-04-11T20:15:03.560 回答
5

想为我的摩托罗拉机器人创建一个简单的 hello world 程序。我应该使用这些目标中的哪一个?

Droid 的库存版本为 2.0(API 6),但截至 2011 年 3 月 14 日,其版本为 2.2.2(FRG83G)。您应该以 2.0 为目标,因为并非所有机器人都是 2.2.2。

我如何查看皮肤?

如何获得机器人皮肤和/或机器人目标和/或机器人虚拟设备?

您需要为摩托罗拉 Droid 安装 Skins。在此处查看 MotoDev 网站。

http://developer.motorola.com/docstools/tools/

如果我从命令行运行“android”,它会说没有虚拟设备。虚拟设备是否与目标相同?

没有目标和虚拟设备是不同的。您需要从目标创建虚拟设备。

有谁知道用于 Droid 的 api 级别/平台?在哪里可以买到合适的皮肤?对于 Droid 开发,我需要了解任何硬件规格吗?

API 级别:6 或更高应该执行,因为并非所有设备都已更新。

规格:见这里http://developer.motorola.com/products/droid/

最后,是否有任何步骤列表可以从命令行(Linux)创建一个 hello world 应用程序并在模拟器上运行它,然后在真手机上运行它?

选择 Eclipse + Ubuntu。它也更容易设置皮肤和插件。插件与物理设备最匹配。其他选择是使用繁琐的开发(对于像你这样的初学者)。在此处询问您的疑问或作为单独的问题发布。你肯定会得到回应。

HTC 最近为开发人员制作了一个小指南,以帮助使用命令行工具。请在此处查看http://htcdev.com/devcenter/opensense-sdk/quick-guide#building

您还可以使用 Eclipse+ MotoDev 工作室...

http://developer.motorola.com/docstools/motodevstudio/

于 2011-04-06T11:16:19.400 回答
4

用于android list target列出可用的目标。这将包含以下信息:
-Target ID:每个目标都有不同的 id,它应该在所有其他命令中使用。
-Skin:每个目标都包含支持的皮肤列表
-API Level:特定目标的 API 级别

创建avd:

android create avd --target 8 --name DROID_EMULATOR --sdcard 128M --skin WVGA854

创建一个 HelloWorld 项目:

android create project --name "HelloWorld" --target 8 --package com.test.helloworld --activity HelloWorld --path HelloWorld

这将在当前目录中创建一个 HelloWorld 目录。它还将在当前目录中创建一个 build.xml。

您可以使用ant compile来编译项目并ant install编译和安装项目。这将在可用的模拟器或设备上安装应用程序。您可以使用ant来查看可用的不同构建目标。

PS:我正在使用 Android SDK 工具,修订版 9 和平台工具,修订版 3。

于 2011-04-12T06:58:21.993 回答
2

一旦构建了 AVD,就从命令行构建而言,我发现这两个链接最有用:

http://developer.android.com/guide/developing/projects/projects-cmdline.html

http://developer.android.com/guide/developing/building/building-cmdline.html

如果您按照“创建 Android 项目”中的描述创建示例项目,那么它会为您创建目录结构,最有用的是 build.properties 和 build.xml。即使您不熟悉 Ant,使用 Ant 构建它也非常容易,而且它几乎可以使用它自动生成的 build.xml 为您完成所有工作。该过程在第二个链接中详细描述。唯一乏味的是应用程序的签名。链接没有告诉您的一件事是,如果您在 build.properties 中添加两行,例如:

key.store.password=YourPassword
key.alias.password=YourOtherPassword

然后签名也会自动完成。

示例应用程序本身几乎就是一个 Hello World。如果您想将其推送到真实设备上,您只需要签署该应用程序。对于模拟器,您只需调用 Ant 的“调试”和“安装”目标,它们将构建应用程序并将其推送到模拟器上

于 2011-04-07T18:58:18.593 回答
0

我在 ubuntu 10.10 上为 android dev 运行 eclipse,我一点问题都没有。不要放弃日食。我建议您询问有关您在 Eclipse 中遇到问题的问题。

如果问题是在日食中你得到“?????????” 作为您尝试在手机上运行它时的设备 ID,您只需要在 eclipse 打开时在终端sudo adb kill-server中运行即可。sudo adb start-server您可能还需要以 root 身份登录以将 adb(来自您的 android sdk)添加到您的 PATH 环境变量中。

于 2011-04-11T17:25:51.073 回答
0

尝试坚持使用 eclipse,如果您在那里遇到问题,那么尝试在命令行上做事情会更糟。log cat 和调试器等内置工具非常有价值。

于 2011-04-06T10:47:00.113 回答
0

很抱歉没有直接回答您的问题,但是 Ubuntu 上的 Eclipse 有什么问题?我已经运行 Ubuntu 多年了,我是 Eclipse 的重度用户,这个设置没有任何问题。

编辑:这要求澄清,因此应该是评论,但我当时没有足够的代表来发表评论。

于 2010-04-21T17:57:12.783 回答