在 Ubuntu 12.04 LTS 安裝 Android SDKNDK 開發環境

2023-12-11 18:32

本文主要是介绍在 Ubuntu 12.04 LTS 安裝 Android SDKNDK 開發環境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://cheng-min-i-taiwan.blogspot.com/2012/05/ubuntu-1204-lts-android-sdk.html

Ubuntu「友幫拓」每年在4月及10月時會固定發布新版本,上月底 Ubuntu 發布了代號 Precise Pangolin(精確的穿山甲)的 12.04 LTS版本,這個版本官方網站將維護到 2017 年。
因此,近期將自己的 Ubuntu 開發環境也升級到 12.04,也將過程紀錄下來分享。



安裝的部分網路上有文章已經寫得很清楚,可以參考 "預覽 Ubuntu 12.04,最期待的作業系統!安裝設定篇" 這篇文章,其中差別是這邊文章是安裝在虛擬主機上,如果要安裝在一般使用的PC或筆電上就必須多一個將IOS檔燒成開機安裝光碟片。

至於補充的地方,如過遇到的使用環境如同我一樣習慣英文 Linux 環境,安裝時選擇的語言是英文版本的話,在中文輸入部分可以參照下面方式進行安裝:
首先找到System Setting --> Language Support --> Language --> Install/Remove Languages..--> Installed Languages --> Chinese (traditional) 打勾

返回 Language Support
選擇輸入法
Keyboard input method system:
選擇 ibus
然後按下 "Apply System-Wide"。


接著將 Regional Formats 中 Display numbers, dates and currency amounts in the usual format for :
選擇 "漢語(臺灣)"
然後按下 "Apply System-Wide" 。


然後在輸入法設定畫面下就可以加入中文輸入法了。



接下來開始安裝及設定環境,這邊要注意的是下列指令與參數間要空格。
基本功力要求是需要Linux入門實力;例如指令操作及文字編輯,本篇就不詳述基本功的部分了。

1.安裝Java
關閉所有視窗,同時按下Ctrl + Alt + T 打開終端畫面,
接著安裝JDK,下列的方式是安裝1.6.x版本。

Installing the JDK
下載  jdk-6uXX-linux-x64.bin
$ sudo apt-get purge openjdk*
$ chmod +x jdk-6u32-linux-x64.bin  <--將bin檔設定可執行
$ ./jdk-6u32-linux-x64.bin
$ sudo mkdir -p /usr/lib/jvm
$ sudo mv jdk1.6.0_32 /usr/lib/jvm/
Install new java source in system:
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_32/bin/javac 1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_32/bin/java 1
Choose default java:
$ sudo update-alternatives --config javac   <--設定預設Javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                  Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/bin/javac   1         auto mode
  1            /usr/lib/jvm/java-7-oracle/bin/javac   1         manual mode
  2            /usr/lib/jvm/jdk1.6.0_32/bin/javac     1         manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.6.0_32/bin/javac to provide /usr/bin/javac (javac) in manual mode.

$ sudo update-alternatives --config java  <--設定預設Java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                 Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/bin/java   1         auto mode
  1            /usr/lib/jvm/java-7-oracle/bin/java   1         manual mode
  2            /usr/lib/jvm/jdk1.6.0_32/bin/java     1         manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.6.0_32/bin/java to provide /usr/bin/java (java) in manual mode.

安裝完成後執行java -version指令看到如下訊息出現表示安裝完成。
$ java -version
java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)

下列的方式是安裝1.7.x版本 (1.6.x與1.7.x兩個擇一選擇,建議採用1.6.x版本就可以了)。
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
安裝完成後執行java -version指令看到如下訊息出現表示安裝完成。
$ java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

另外,切換Java版本的指令是
$ sudo update-alternatives --config java


接著如果在64bit上使用的是非 openjdk 時,為了避免eclipse執行時遇到下列錯誤訊息
 Could not load SWT library. Reasons:
        no swt-gtk-3740 in java.library.path
        no swt-gtk in java.library.path
.......



執行下面兩行指令可以解決eclipse 開不起來問題:
sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java
sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/


2.安裝Android相關套件 
參照 android open source project 網頁 Initializing the Build Environment 步驟安裝相關套件.
http://source.android.com/source/initializing.html

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
>   zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
>   libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \
>   g++-multilib mingw32 tofrodos python-markdown \
>   libxml2-utils xsltproc zlib1g-dev:i386


$ sudo apt-get -f install


3.安裝Eclipse
安裝Eclipse有兩種方式,一種方式是到官網去下載Eclipse相對應的位元檔案,然後解壓縮後執行eclipse即可,另外一種方式是利用 Ubuntu Software Center方式來進行,本文則採用這個方式來安裝。
首先打開畫面右邊的Ubuntu Software Center


接著在搜尋的地方輸入 eclipse 然後選擇第2個圖示並按下右邊的 install 按鈕後便開始安裝,途中會要求輸入sudo密碼過一陣子看到圖示中出現綠色打勾即代表安裝完成。



接著設定eclipse.ini ,這個設定檔放置在 /etc目錄下,所以修改時記得前面要加 sudo例如: sudo vi /etc/eclipse.ini
相關設定部分請參照 優化Eclipse 開發工具

下圖是第一次執行畫面



4.安裝 Android SDK
Google官網下載Linux (i386)版本的SDK , 當下載完成後按照下面方式進行安裝:

將檔案移到使用者home目錄下,解壓縮
$ cd Downloads/
$ mv android-sdk_r18-linux.tgz ~/
$ cd ~
$ tar zxvf android-sdk_r18-linux.tgz
....解壓縮檔案.....
$ cd android-sdk-linux/
$ tools/android update sdk   
此時就會看到 Android SDK Manager,這時就可以開始安裝相關的SDK套件。


接著打開eclipse 選擇上方Help --> Install New Software  按下 add 在Name中輸入 ADT Plugin 在 Location中輸入 http://dl-ssl.google.com/android/eclipse/


然後選擇全部安裝,這時開始安裝ADT Plugin 。


安裝過程會要求重啟eclipse,當安裝完成後會要求輸入SDK所在目錄以及是否要傳送使用狀態給Google:



此時,這部分便安裝完成。


5.安裝 Android NDK
Google官網下載Linux 32/64-bit (x86) 版本的NDK,當下載完成後按照下面方式進行安裝:

將檔案移到使用者home目錄下,解壓縮
$ cd Downloads/
$ mv android-ndk-r8-linux-x86.tar.bz2 ~/
$ cd ~
$ $ tar jxvf android-ndk-r8-linux-x86.tar.bz2
....解壓縮檔案.....
當解壓縮完成後加入相關路徑:
編輯 .profile
$ vi .profile
在最下面增加下面內容:
#Android SDK
SDK_ROOT=~/android-sdk-linux
PATH=$SDK_ROOT/tools:$SDK_ROOT/platform-tools:$PATH
export PATH

#Android NDK
NDK_ROOT=~/android-ndk-r8
PATH=$NDK_ROOT:$PATH
NDK_Sample=$NDK_ROOT/samples
NDK_Workspace=~/workspace
export NDK_ROOT NDK_Sample NDK_Workspace PATH


至此,大致上NDK環境已經安裝完成,此時可以用hello-jni測試一下 NDK環境:





6.安裝Eclipse CDT(C/C++ Development Tool)
由於按照第3步驟安裝eclipse 3.7.x板時,在Available Software Sites中已經有CDT,可以在"type filter text"輸入框中直接輸入http://download.eclipse.org/tools/cdt/releases/indigo 然後修改名稱後把前面的框框打勾如下圖:



然後回到install畫面在Work with:中選擇CDT - .....,過一陣子會出現安裝選項,此時選擇 CDT Main Features --> C/C++ Development Tools 如下圖


接著按下Next>會看到安裝項目:


安裝完成後,會要求重啟eclipse此時便完成CDT安裝:


2012/06/29補充】新版已經整合了NDK插件,除了下述方式外可以參考新版第一支Android程式(Android SDK r20) -- HelloWorld 包含 NDK Plugin 。

接著開發的部分,直接參考 "第一支Android NDK程式--HelloJni" 這篇文章中步驟4以後操作。

不同處我在這整理一下:
在專案名稱(HelloJNI)按滑鼠右鍵選擇Properties --> Builders --> New--> 選擇 Program
在Main標籤內容中:
Name中輸入: Native_Builder
Location中輸入: /bin/bash
Working Directory中輸入: ${workspace_loc:/HelloJni/jni}  <--用Browse Workspace...選擇
Arguments中輸入: --login -c "cd $NDK_Sample/hello-jni && ndk-build"
其他地方設定都一樣。









執行結果:




相關參考:
1. Ubuntu 「友幫拓」
http://www.ubuntu.com/download

2.Ubuntu 12.04 – install sun jdk 6-7
http://www.devsniper.com/ubuntu-12-04-install-sun-jdk-6-7/

3.Installing the ADT Plugin
http://developer.android.com/sdk/eclipse-adt.html#installing

4.第一支Android NDK程式--HelloJni
http://www.cheng-min-i-taiwan.blogspot.com/2010/06/android-ndk-hellojni.html

===========相關閱讀========================================
新版第一支Android程式(Android SDK r20) -- HelloWorld 包含 NDK Plugin

这篇关于在 Ubuntu 12.04 LTS 安裝 Android SDKNDK 開發環境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/481675

相关文章

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me