在 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

相关文章

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局