如何在linux上设置android SDK进行命令行开发?

2024-04-18

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

  1. 从下载 android-sdk_r05-linux_86.tgzhttp://developer.android.com/sdk/index.html http://developer.android.com/sdk/index.html
  2. tar xvzf android-sdk_r05-linux_86.tgz
  3. ln -s android-sdk-linux_86 android
  4. 在 .tcshrc 中添加 setenv PATH .....:/home/user/android/tools
  5. 源.tcshrc
  6. 跑“安卓”。这打开了一个图形用户界面。在可用的软件包下:我安装了所有内容,然后退出了 gui。
  7. 运行“android list Targets”并列出了这些:

可用的 Android 目标:

id: 1 或“android-3” 名称:安卓1.5 类型:平台 API 级别:3 修订:1 外观:HVGA-P、HVGA(默认)、QVGA-P、QVGA-L、HVGA-L

id: 2 或“Google Inc.:Google API:3” 名称:Google API 类型:附加组件 供应商:谷歌公司 修订:3 描述:Android + Google API 基于Android 1.5(API级别3) 图书馆: * com.google.android.maps (maps.jar) Google 地图 API 外观:QVGA-P、HVGA-L、HVGA(默认)、QVGA-L、HVGA-P

id: 3 或“android-4” 名称:安卓1.6 类型:平台 API 级别:4 修订:1 外观:HVGA(默认)、WVGA800、WVGA854、QVGA

id: 4 或“Google Inc.:Google API:4” 名称:Google API 类型:附加组件 供应商:谷歌公司 修订:2 描述:Android + Google API 基于Android 1.6(API级别4) 图书馆: * com.google.android.maps (maps.jar) Google 地图 API 外观:WVGA854、HVGA(默认)、QVGA、WVGA800

id: 5 或“android-6” 名称:安卓2.0.1 类型:平台 API 级别:6 修订:1 外观:WQVGA432、HVGA(默认)、WVGA800、WVGA854、WQVGA400、QVGA id:6 或“Google Inc.:Google API:6” 名称:Google API 类型:附加组件 供应商:谷歌公司 修订:1 描述:Android + Google API 基于Android 2.0.1(API级别6) 图书馆: * com.google.android.maps (maps.jar) Google 地图 API 外观:WQVGA400、WVGA854、HVGA(默认)、WQVGA432、QVGA、WVGA800

ID:7 或“android-7” 名称:安卓2.1 类型:平台 API 级别:7 修订:1 外观:WQVGA432、HVGA(默认)、WVGA800、WVGA854、WQVGA400、QVGA

id: 8 或“Google Inc.:Google API:7” 名称:Google API 类型:附加组件 供应商:谷歌公司 修订:1 描述:Android + Google API 基于Android 2.1(API级别7) 图书馆: * com.google.android.maps (maps.jar) Google 地图 API 外观:WQVGA400、WVGA854、HVGA(默认)、WQVGA432、QVGA、WVGA800

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

我如何查看皮肤?

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

如何获取 droid 皮肤和/或 droid 目标和/或 droid 虚拟设备?


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

谢谢, 鲍勃

Later:

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

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

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

有谁知道 Droid 使用什么 api 级别/平台?那么哪里可以获得合适的皮肤呢?对于 Droid 开发,我需要了解什么硬件规格吗?

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

Bob


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

我最近开始将我的所有 Android 项目转换为Maven http://maven.apache.org/管理。有一个成长中的社区 https://groups.google.com/group/maven-android-developers使用这种方法是非常令人愉快的。

这个想法是围绕maven-android-插件 http://code.google.com/p/maven-android-plugin/它完成了所有繁重的工作。有samples https://github.com/jayway/maven-android-plugin-samples其中显示了各种用例(非 Java 语言、多模块项目等)。繁琐的 CLI 任务,例如使用 proguard 缩小 APK 大小、签署 APK 以及压缩 APKall http://code.google.com/p/maven-android-plugin/wiki/SigningAPKWithMavenJarsigner been http://code.google.com/p/maven-android-plugin/wiki/ZipalignAPKBuiltByMAven 自动化的 http://code.google.com/p/maven-android-plugin/wiki/ProGuard.

还有一种自定义格式,.apklib http://code.google.com/p/maven-android-plugin/wiki/ApkLib,为分发而开发Android 库项目 http://developer.android.com/guide/developing/projects/projects-eclipse.html#SettingUpLibraryProject通过 Maven 存储库。

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

哦,而且还可以control http://maven-android-plugin-m2site.googlecode.com/svn/emulator-start-mojo.html and deploy http://maven-android-plugin-m2site.googlecode.com/svn/deploy-mojo.html模拟器也行!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在linux上设置android SDK进行命令行开发? 的相关文章

  • 使用 Eclipse 的 Android“Hello World”教程

    我尝试编写我的第一个应用程序 Hello World 我已经遇到了一个无法修复的错误 当我运行该程序时 我得到 无效的命令行参数 文件 提示 使用 foo 启动名为 foo 的虚拟设备 请使用 help 获取更多信息 有谁知道这意味着什么以
  • 如何以编程方式查找USB存储路径?

    我将 USB 存储设备连接到手机并使用 getExternalFilesDirs 查找所有目录 包括 sdcard 和 USB 该功能正确输出了SD卡的路径 但未输出USB路径 有没有办法找到USB的相对路径而不是绝对路径 我已经被这个问题
  • Flaky Android Espresso 测试 - Snackbar

    1 所有正在测试的设备 模拟器都禁用了动画 2 我有一个 BeforeClass 来构建我的 Credentials 对象 3 我有一个IntenServiceIdlingResource和一个EventBusIdlingResource
  • ConstraintLayout 内的 ImageView 不起作用

    我在正确显示 ImageView 时遇到问题 我想在 ConstraintLayout 中显示 ImageView 在预览中 它看起来完全符合我的需要 但是当我在设备上启动它时 它看起来完全不同 此布局位于回收视图内 这段代码有什么问题
  • React Native:由于 SoLoader 问题,应用程序在启动时崩溃

    我的 Android 应用程序出现问题 iOS 运行正常 每次我进行构建时 当我打开应用程序时 它会在开始之前关闭 我已经在Github和这里尝试了很多我一直在寻找的解决方案 但我还没有能够解决它 安装是干净的 我已经检查过没有遗漏任何东西
  • 编写 AMD64 SysV 程序集时使用哪些寄存器作为临时寄存器?

    我正在使用实现一个功能cpuid根据 AMD64 SysV ABI 进行组装 我需要在函数本身中使用 2 个临时寄存器 第一个用于累积返回值 第二个用作计数器 我的功能目前如下所示 zero argument function some c
  • 如何编写写入 /var/log/myapp 目录的 C/C++ 应用程序?

    背景 在 Linux 系统上 应用程序日志 https help ubuntu com community LinuxLogFiles Application Logs存在于子目录中 var log 其所有者为root root并且在我的系
  • Bash 脚本 Mysql 警告:在命令行界面上使用密码可能不安全

    你好 我有一个脚本来对一些 mysql 数据库进行分区 我们正在从 5 5 升级到 5 6 在测试脚本时 我注意到新的 5 6 版本 mysql 返回Warning Using a password on the command line
  • Android JSONObject内部多个JSONObject的解析

    我有一个来自服务器的 JSON 字符串 它看起来像这样 categories 0 term id 247 name Content Curation 1 term id 50 name Content Marketing 2 term id
  • 如何在Linux中为特定程序设置进程ID

    我想知道是否有某种方法可以在运行某些应用程序之前强制使用 Linux 的某些特定进程 ID 我需要提前知道进程ID 实际上 有一种方法可以做到这一点 自内核 3 3 设置了 CONFIG CHECKPOINT RESTORE 在大多数发行版
  • 单视图布局文件:编译器是否使用布局/视图组自动换行?

    如果我有一个只包含一个布局文件TextView 我可以毫无问题地从内部充气它activity 但是 如果我尝试膨胀一个包含单个自定义视图的类似布局文件 那么我会得到一个通货膨胀例外 在这种情况下 我可以获得自定义视图来膨胀的唯一方法是将其包
  • 在 Android 5 及以上版本中,Notification.Builder.setTicker 仍然有用吗?

    我的理解Notification Builder setTicker ticketText https developer android com reference android app Notification Builder htm
  • 通话时是否可以播放音乐以便对方可以听到?安卓

    我正在尝试制作和应用程序打电话骗子 http phoneky com applications id y0y17763 最初为 Symbian 操作系统开发 是否可以在电话通话期间播放音乐 让接收方和呼叫方听到相同的声音或音乐 如果是 我该
  • php.ini 更改,但在 Ubuntu 上无效

    我想更改 PHP 上传文件大小的限制 这是我的输出的一些信息phpinfo https www php net manual en function phpinfo php Configuration File php ini Path e
  • 使用包名称获取所有活动

    我想通过使用 PackageInfo 将应用程序中存在的所有活动作为列表获取 请告诉我有什么办法可以做到这一点 提前致谢 我的问题得到的答复如下 public static ArrayList
  • java.lang.IndexOutOfBoundsException:无效索引 7,大小为 7

    我正在尝试实现视图寻呼机 在我的视图寻呼机图像来自服务器 我能够显示和滚动 但当我到达最后一个图像时 它显示错误并且应用程序崩溃 以下是我的代码片段 public class Test Pager extends Activity priv
  • 从一系列图像创建视频?

    如何从一系列 png 图像创建视频 在 Android 中是否有可能任何人建议我这样做 是的 可以通过一系列图像生成视频 不完全是视频 而是类似视频 有一种所谓的 mpeg 流 它由多部分方式的 JPEG 图像组成 您可以从源 基本上是远程
  • 使用 Android 手机在空中绘画

    我正在开发一个用 Android 手机在空中画画的应用程序 当我的手机移动时 借助加速度计 我检索了每个轴 ax ay az 上的加速度 我感兴趣的是 x y z 根据我在论坛和一些教程中读到的内容 两次积分加速会产生巨大的错误 那么 对于
  • Android 如何检查文件是否存在并创建一个?

    我有以下问题 我想将一个名为 data xml 的文件放入 sdcard appname 文件夹中 并使用它来读取和写入应用程序数据 因此 当我的主要活动创建时 我需要检查该文件是否存在 public class appname exten
  • Android 数字格式不知为何是错误的,我得到的不是 3.5,而是 3.499999999,为什么?

    我将一些数据存储在数据库中 然后使用游标读取这些数据 所有数据均为 56 45 3 04 0 03 类型 即小数点后两位 现在我想对它们求和 但这似乎并不容易 我得到这些数字c getDouble 3 然后我将它添加到 sum 变量中 如下

随机推荐

  • 如何限制循环的迭代次数?

    假设我有一个项目列表 我想迭代其中的前几个 items list range 10 I mean this to represent any kind of iterable limit 5 简单的实现 来自其他语言的 Python 新手可
  • 从 Octave 导出的图中具有透明背景

    我在 Win 10 下使用便携式 Octave 5 1 0 我的意思是写一个具有透明背景的 png 绘图 免责声明 这个问题与下面链接的两个问题类似 我选择了提出当前不同的问题 https meta stackoverflow com qu
  • GCE - HTTP 负载平衡返回错误 502(错误网关) - 仅当通过 C# 发布时

    我们有一个 C 应用程序 可以获取数据并将其发布到我们的网站 在使用 Compute Engine 测试 HTTP 负载平衡时 我们遇到的唯一问题是当 C 应用程序尝试提交数据时返回 502 Bad Gateway HTTP 负载平衡中是否
  • 将名字和姓氏添加到 Django-Registration

    我使用的是默认的Djangoregistration 版本 0 8 在我的项目中 用户只需输入他们的用户名 电子邮件和密码 但是 我希望用户也在注册页面上输入他们的名字和姓氏 我怎样才能轻松做到这一点 您可以做的是覆盖默认的 UserReg
  • numpy reshape 是如何工作的?

    我有一个 numpy 数组中的数据 a np arange 100 a a reshape 20 5 当我打字时 a 10 它返回 array 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1
  • 为什么 sscanf() 不将 CSV 文件中的行读入数组?

    我正在尝试将 CSV 文件中的整数读入二维数组 这是我的代码 FILE fp fopen argv 1 r int counter 0 char line 50 while fgets line 50 fp counter int arry
  • msscript.ocx 从哪里安装

    我在我的应用程序中使用 msscript ocx 它是 Windows 的 ActiveX 脚本主机 尽管我希望能够对高度可定制的 XP 嵌入式 XPe 使用相同的功能 1 我想知道在XPe上是否可以选择性安装msscript ocx 2
  • 为什么我的 Android 应用程序(具有 root 权限)无法访问 /dev/input?

    我的应用程序针对已root的Android设备 它具有root权限并且需要访问该目录 dev input 但为什么它会抛出opendir failed Permission denied even dev input已经是chmod to
  • 读取 bash 脚本中 psql 返回的错误

    我需要在从 bash 脚本运行 psql 时检查错误 这是我们如何在脚本中运行的示例 return value psql X POSTGRES CONNECTION STRING f build table sql w b A q t ps
  • jQuery + JSONP + 雅虎查询语言

    我想从外部来源获取实时汇率 所以我找到了这个很棒的网络服务 该服务运行得非常出色 唯一的缺点是它不提供 JSONP 结果 仅提供 XML 因此 在尝试使用 jQuery ajax 使用此 Web 服务时 我们遇到了跨浏览器问题 所以我发现雅
  • 扩展 Mandelbrot 生成 Julia

    在一个项目上工作 要求我使用相同的代码 请注意在同一个文件中生成曼德尔布罗集和朱莉娅集 我有一个工作曼德尔布罗集 但可以看到如何使用相同的代码扩展到朱莉娅集 也许我没有理解之间的区别 谁能详细说明一下 import numpy as np
  • src 和 data-src 属性之间有哪些区别?

    使用两者有何区别和后果 好与坏 data src or src的属性img标签 我可以使用两者获得相同的结果吗 如果是这样 什么时候应该使用它们 属性src and data src没有任何共同点 除了它们都被 HTML5 CR 允许并且它
  • 相机视图上的水印图像偏移

    我创建了一个覆盖图像用作水印 但图像发生了偏移 我已经将代码放在下面 该代码基于 Ivan Karpan 的这篇文章 iPhone 相机视图上的实时水印图像 https stackoverflow com questions 2076456
  • Ruby on Rails:如何将文件呈现为纯文本(没有任何 HTML)

    如何在 Rails 中将文件渲染为纯文本 文本 不渲染任何 HTML 我试过了 render file path to file layout false and render file path to file content type
  • ascx 的视图状态在回发之间丢失

    在我的 ASP NET 应用程序中 我使用 LoadControl 动态加载 ascx 使用以下模式 var ctrl LoadControl path to control ascx ControlType ctrl SomeProper
  • 对象销毁对于加密目的可靠吗?

    作为后续这个问题 https stackoverflow com questions 57515813 我正在想象一个存储敏感数据 例如加密密钥 的类 为了简化事情 假设不涉及继承 struct Credential std array
  • awk 有条件地组合多行

    我想将多行不同长度的值合并到一行 如果它们与 ID 匹配 输入示例是 ID Value a 1 49 a 2 75 b 1 120 b 2 150 b 3 211 c 1 289 d 1 301 d 2 322 所需的输出示例是 ID Va
  • AngularJS 中的 IE11 访问被拒绝

    每个开发管道都有 2 个部分 首先努力工作并开发应用程序 其次要更加努力 让它兼容伟大的IE 我们有一个AngularJS v1 3 13 没有任何服务器端代码开发的应用程序Webstorm 我们在做REST致电服务 我们的应用程序在 Ch
  • 如何访问 json 数据中的嵌套数组

    我想访问leagueTable此数组内JSON数据 缩短的JSON看起来像这样 每个数组并不显示所有数据以保存滚动 如何访问 leagueTable 数组中的值 data fixtures fixtureId 4950418 fixture
  • 如何在linux上设置android SDK进行命令行开发?

    我正在尝试设置 android SDK 在 Linux Ubuntu 9 10 的命令行上开发一个简单的程序 我尝试过 eclipse 但它在 Ubuntu 上运行有问题 所以我放弃了 这是我到目前为止所做的 从下载 android sdk