Linux下搭建 Android App 开发环境

日期:2015-10-06 12:42:40 作者: 来源: 人气:

 小编简单向大家介绍下如何在 Linux 搭建 Android App 开发环境,以及尝试编写一个最简单的 “Hello World!” 程序的过程,希望给对 Android 开发有兴趣但还没了解过相关知识的同学有点帮助。好了,废话不多说了,进入正题!

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

  • 一台安装 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 时会用到),进入这个文件夹,然后运行:

$ 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”,将里面的内容更改为如下:

[java] view plaincopy

  1. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>package</strong></span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,102,153)">com.example.helloandroid</span><span style="padding:0px; margin:0px; 

    font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  


  2. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>import</strong></span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,102,153)">android.app.Activity</span>

  3. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  4. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>import</strong></span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,102,153)">android.os.Bundle</span>

    <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  5. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>import</strong></span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,102,153)">android.widget.TextView</span>

    <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  6. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>public</strong></span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>class</strong></span> HelloAndroid <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>extends</strong></span> Activity <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">{</span>  

  7. @Override  

  8. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>public</strong></span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,102)"><strong>void</strong></span> onCreate<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">(</span>Bundle savedInstanceState<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">)</span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">{</span>  

  9. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>super</strong></span>.<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,102,51)">onCreate</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">(</span>savedInstanceState<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">)</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  10.  TextView tv <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">=</span> <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>new</strong></span> TextView<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">(</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,0)"><strong>this</strong></span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">)</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  11.  tv.<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,102,51)">setText</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">(</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,0,255)">"Hello, Android"</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">)</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  12.  setContentView<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">(</span>tv<span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">)</span><span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(51,153,51)">;</span>  

  13. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">}</span>  

  14. <span style="padding:0px; margin:0px; font-family:Verdana,Arial,Helvetica,sans-serif; color:rgb(0,153,0)">}</span>  

保存,然后选择菜单 “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 开发环境的过程,而实际上开发一个实用的程序可能还需要更多知识,有兴趣的可以在网上下载些实例或者继续阅读本网站的一些相关文章学习。

Tag标签:

热门评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

热门关注

随机推荐