随着 Android 手机和平板的流行,越来越多人加入到 Android 的开发者行列。本文简单讲述在 Linux 搭建 Android App 开发环境的过程,以及尝试编写一个最简单的程序,希望给对 Android 开发有兴趣但还没了解过相关知识的同学有点帮助。@ivarptr
在 Linux 里开发 Android App 需要满足以下环境条件:
一般的 Linux 桌面发行版都可以,32位或者64位的没关系。下面的步骤在 Arch Linux + Gnome 3 以及 Ubuntu 11.10 测试过。
有些 Linux 发行版可能已经默认安装了 JRE(Java 运行环境),但开发 Android 程序需要的是 JDK,使用如下命令安装:
$ sudo pacman -S openjdk6(在 Arch Linux 环境) $ sudo apt-get install openjdk-6-jdk(在 Ubuntu 环境)
安装之后使用命令 $ javac -version 查看结果,如果能显示 Java 的版本则说明安装成功了。
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” 按钮开始下载,然后等待完成关闭即可。
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即可。
现在的 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 手机显示出来:
返回 Eclipse,选择菜单 “File” -> “New” -> “Project…” 选择 “Android Project”,然后会有一个向导,在向导的各个步骤里填入如下值:
点击完成后,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”,即可在虚拟设备上看到运行结果。
如果要将上一步写好的程序安装到自己的手机/平板上,还需做一点工作。
首先设置你的手机允许”安装未知源的程序”以及打开”USB 调试”,这两项设置分别位于:
然后使用 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 工具,这次应该能看到手机的型号了。
这步非常简单,在 Eclipse 里选择菜单 “Run”,这次它会问你是在虚拟设备上运行还是在真实手机(即当前用USB连接到计算机的设备)上运行,选择第二项,你写的程序即自动安装到你的手机并且自动运行了。
这里只是粗略地介绍在 Linux 里搭建 Android App 开发环境的过程,而实际上开发一个实用的程序可能还需要更多知识,有兴趣的可以到 Google 的 Android 开发网站下载几个实例和阅读相关文章学习。
文章来源:archboy.org
11 Responses to 在 Linux 里搭建 Android App 开发环境
Ian Wu
十二月 20th, 2011 at 5:05 下午
64bit 上面如果沒有 ia32-libs 會報錯
記得加裝一下
ivarptr Reply:
十二月 20th, 2011 at 5:26 下午
@Ian Wu, 谢谢提醒
GunsNRose
十二月 20th, 2011 at 6:18 下午
现在java7出来了,不知道用 openjdk 7 会不会有影响
Heiher
十二月 21st, 2011 at 9:26 上午
64 位我都是装个 32 位的系统,然后 chroot 进去的。
第三眼
十二月 21st, 2011 at 9:28 上午
这个不错啊,正好可以试试看
tolbkni Reply:
十二月 21st, 2011 at 10:17 上午
@第三眼, 同样 12a1 路过,握爪!
Android 開發環境安裝、設置 與 開發 | Tsung’s Blog
十二月 21st, 2011 at 12:11 下午
[…] 在 Linux 裡搭建 Android App 開發環境 […]
Rabbit_52
十二月 21st, 2011 at 12:26 下午
求博住,识别 user-agent 的插件名称~谢谢
riku Reply:
十二月 21st, 2011 at 12:41 下午
@Rabbit_52, wp-useragent
Rabbit_52 Reply:
十二月 21st, 2011 at 2:54 下午
@riku, 谢谢!嘿嘿
tanyouxianga
五月 24th, 2012 at 3:41 上午
学习了,有时间帮帮我们小朋友提高.