在 Linux 里搭建 Android App 开发环境

20 十二
2011
# 作者: ivarptr / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接。

随着 Android 手机和平板的流行,越来越多人加入到 Android 的开发者行列。本文简单讲述在 Linux 搭建 Android App 开发环境的过程,以及尝试编写一个最简单的程序,希望给对 Android 开发有兴趣但还没了解过相关知识的同学有点帮助。@ivarptr

在 Linux 里开发 Android App 需要满足以下环境条件:

  • 一台安装 Linux 桌面的普通计算机
  • Java SDK 6
  • Android SDK
  • Android 手机或平板(可选)
  • Eclipse IDE 3.6或更高版本(可选)

1、操作系统的准备

一般的 Linux 桌面发行版都可以,32位或者64位的没关系。下面的步骤在 Arch Linux + Gnome 3 以及 Ubuntu 11.10 测试过。

2、安装 Java SDK 6(或以上版本)

有些 Linux 发行版可能已经默认安装了 JRE(Java 运行环境),但开发 Android 程序需要的是 JDK,使用如下命令安装:

$ sudo pacman -S openjdk6(在 Arch Linux 环境)
$ sudo apt-get install openjdk-6-jdk(在 Ubuntu 环境)

安装之后使用命令 $ javac -version 查看结果,如果能显示 Java 的版本则说明安装成功了。

3、下载及配置 Android SDK

Android SDK 在这里(http://developer.android.com/sdk/index.html),选择”Linux (i386)”下载(在写这篇文章时,文件名为 android-sdk_r16-linux.tgz),在自家目录新建一个名为 “programs” 文件夹(即 ~/programs),把下载回来的文件保存到这个文件夹。

展开下载回来的压缩包:tar -xzvf android-sdk_r16-linux.tgz,会得到一个名为 “android-sdk-linux” 的文件夹(即 ~/programs/android-sdk-linux),这个是 Android SDK 的文件夹(下面设置 Eclipse IDE 时会用到),进入这个文件夹,然后运行:

$ tools/android

这是一个图形界面的 Android SDK 管理器。

在这个管理器里我们可以添加开发需要的 “Platform-tools”(平台工具)以及各种 Android 版本的 “SDK Platform”(平台SDK)。一般我们需要安装 “Platform-tools” + 某个版本的 “SDK Platform”。因为我的手机是 HTC Desire S(G12,Android 2.3)为了方便调试,这里我勾选了 “Android 2.3.3 (API 10)”,你可以根据实际情况选择不同的版本,点击 “Install” 按钮开始下载,然后等待完成关闭即可。

4、下载及配置 Eclipse IDE

IDE 并不是必须的,而且过分依赖 IDE 可能也不是一件好事,不过为了让首次接触 Android App 开发的同学快速地有个感性认识,这里使用 Eclipse IDE 来编写第一个 Android 程序。

到这里下载 Eclipse IDE(http://www.eclipse.org/downloads/),选择 Linux 32-bit 标准版(Eclipse IDE for Java Developers,写这篇文章时版本是 Indigo (3.7.1),文件名是 eclipse-java-indigo-SR1-linux-gtk.tar.gz)即可,保存在 ~/programs 文件夹之内。

展开下载回来的压缩包:tar -xzvf eclipse-java-indigo-SR1-linux-gtk.tar.gz,会得到一个名为 “eclipse” 的文件夹,进入这个文件夹,然后运行:

$ ./eclipse

运行 Eclipse 它首先会询问你选择一个工作空间,我们使用默认值直接点击OK即可。

5、安装 Eclipse 插件 ADT并配置

现在的 Eclipse 还不能创建 Android 类型的项目,也不能调用我们第3步配置好的 Android SDK,所以还需要安装一个叫 “ADT” 的插件。

进入 Eclipse 之后,选择菜单 “Help” -> “Install New Software”,点击 “Add”,然后在 “Name” 一栏填入 “ADT”,在 “Location” 一栏填入 “http://dl-ssl.google.com/android/eclipse/“,点击 “OK” 之后应该能看到窗口中间的列表显示 “Developer Tools”一项。

勾选它然后点击 “Next” 即开始下载安装(注:一般5分钟左右下载完毕,如果你发现下载速度非常慢,可能要想办法跨越那堵墙)。完成后重新运行 Eclipse,然后它会询问你的 Android SDK 安装在哪里,填入我们第3步得到的文件夹,即 “~/programs/android-sdk-linux”,然后点击完成。

注:图片中所示的是我计算机的目录,请忽略。

然后我们还要创建一个虚拟的 Android 设备(AVD)用于在开发程序过程中调试用。

在 Eclipse 里选择菜单 “Window” -> “AVD Manager”,点击 “New”,名称填写 “MyDev001″(或者随便你喜欢的名字),”Target” 选择 “Android 2.3.3″(或者你安装的平台SDK版本),然后点击 “Create AVD” 即创建了一个 Android 2.3.3 的虚拟设备(相当于虚拟机)。点击这个虚拟设备,然后点击 “Start” 按钮你可以看到一台虚拟 Android 手机显示出来:

6、创建第一个程序

返回 Eclipse,选择菜单 “File” -> “New” -> “Project…” 选择 “Android Project”,然后会有一个向导,在向导的各个步骤里填入如下值:

  • Project name: HelloAndroid
  • Build Target: Android 2.3.3(或者你安装的 Android SDK平台的版本)
  • Application name: Hello, Android
  • Package name: com.example.helloandroid(或者随便你喜欢的名称空间)
  • Create Activity: HelloAndroid

点击完成后,Eclipse 会帮你创建一个最简单的 Android 项目,在 “Package Explorer” 里展开 “src” -> “com.example.helloandroid” -> “HelloAndroid.java”,将里面的内容更改为如下:

package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android");
        setContentView(tv);
    }
}

保存,然后选择菜单 “Run” -> “Android Application”,即可在虚拟设备上看到运行结果。

7、准备将程序发布到自己的手机/平板上

如果要将上一步写好的程序安装到自己的手机/平板上,还需做一点工作。

首先设置你的手机允许”安装未知源的程序”以及打开”USB 调试”,这两项设置分别位于:

  • 设置(Settings) > 应用程序(Applications) > 勾选未知来源 (Unknown sources)
  • 设置(Settings) > 应用程序(Applications) > 开发(Development) > 勾选 USB 调试(USB debugging)

然后使用 USB 把手机连接你的计算机,如果手机询问 “USB 用途” 时则选择 “仅充电”。

虽然在 Linux 下不需要安装手机驱动程序,不过一般情况下我们没有权限访问这个 “USB设备”,在 Android SDK 文件夹里运行 ADB工具。

$ platform-tools/adb devices

将会看到虽然已经检测到手机的存在,不过没有权限访问以及识别手机的型号。解决方法很简单,在你的计算机里使用 root 权限创建文件 “/etc/udev/rules.d/51-android.rules”,并在其中写入如下内容:

SUBSYSTEM==”usb”, ATTR{idVendor}==”0bb4″, MODE=”0666″

其中的 “0bb4” 是指 HTC 手机,如果你手机不是 HTC 的,则根据这个对照表查询得并替换之(http://developer.android.com/guide/developing/device.html)。然后为这个文件添加所有人可读权限,即运行如下命令:

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

重启计算机,然后再次运行上面提到的 ADB 工具,这次应该能看到手机的型号了。

8、在自己的手机/平板上运行自己写的程序

这步非常简单,在 Eclipse 里选择菜单 “Run”,这次它会问你是在虚拟设备上运行还是在真实手机(即当前用USB连接到计算机的设备)上运行,选择第二项,你写的程序即自动安装到你的手机并且自动运行了。

最后

这里只是粗略地介绍在 Linux 里搭建 Android App 开发环境的过程,而实际上开发一个实用的程序可能还需要更多知识,有兴趣的可以到 Google 的 Android 开发网站下载几个实例和阅读相关文章学习。

文章来源:archboy.org

参考资料

 

ivarptr

linux 和开源的忠实粉丝,程序猿,欢迎 fo me @ivarptr

More Posts – Website

Follow Me:
Twitter

11 Responses to 在 Linux 里搭建 Android App 开发环境

Avatar

Ian Wu

Opera 11.60 Opera 11.60 Windows 7 Windows 7

十二月 20th, 2011 at 5:05 下午

64bit 上面如果沒有 ia32-libs 會報錯

記得加裝一下

Firefox 8.0.1 Firefox 8.0.1 GNU/Linux GNU/Linux

ivarptr Reply:

@Ian Wu, 谢谢提醒 :)

Avatar

GunsNRose

Firefox 8.0.1 Firefox 8.0.1 GNU/Linux x64 GNU/Linux x64

十二月 20th, 2011 at 6:18 下午

现在java7出来了,不知道用 openjdk 7 会不会有影响

Avatar

Heiher

Firefox 8.0.1 Firefox 8.0.1 GNU/Linux x64 GNU/Linux x64

十二月 21st, 2011 at 9:26 上午

64 位我都是装个 32 位的系统,然后 chroot 进去的。

Avatar

第三眼

Firefox 12.0a1 Firefox 12.0a1 Windows XP Windows XP

十二月 21st, 2011 at 9:28 上午

这个不错啊,正好可以试试看

Firefox 12.0a1 Firefox 12.0a1 Windows 7 x64 Edition Windows 7 x64 Edition

tolbkni Reply:

@第三眼, 同样 12a1 路过,握爪!

Avatar

Android 開發環境安裝、設置 與 開發 | Tsung’s Blog

WordPress 3.2.1 WordPress 3.2.1

十二月 21st, 2011 at 12:11 下午

[…] 在 Linux 裡搭建 Android App 開發環境 […]

Avatar

Rabbit_52

Chromium 17.0.963.12 Chromium 17.0.963.12 Ubuntu 11.04 x64 Ubuntu 11.04 x64

十二月 21st, 2011 at 12:26 下午

求博住,识别 user-agent 的插件名称~谢谢

Google Chrome 17.0.963.12 Google Chrome 17.0.963.12 Windows 7 Windows 7

riku Reply:

@Rabbit_52, wp-useragent

Chromium 17.0.963.12 Chromium 17.0.963.12 Ubuntu 11.04 x64 Ubuntu 11.04 x64

Rabbit_52 Reply:

@riku, 谢谢!嘿嘿

Avatar

tanyouxianga

Firefox 12.0 Firefox 12.0 Ubuntu Ubuntu

五月 24th, 2012 at 3:41 上午

学习了,有时间帮帮我们小朋友提高.

top