在虚拟机以及pc机上安装ubuntu 9.10_x86_64系统搭建android开发环境

本文主要是介绍在虚拟机以及pc机上安装ubuntu 9.10_x86_64系统搭建android开发环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

一.安装VMware虚拟机

到系统资源目录下找到VMware-workstation-full-7.0.1.227600,解压后安装exe文件。按照提示信息,进行操作。

选择Typical 点next

 

 

       然后找到Ubuntu9.10.iso 图操作:

然后按照提示往下继续安装系统,基本上很简单,不需要操作什么。

 

二.Ubuntu下的常规设置,及其开发必要软件安装。

 

在操作之前先装一个比较好的文本编辑器 vim:

$sudo apt-get install vim

 

1.       linux打开远程控制,

System->Reference->Remote Desktop

 

 

2.       linux开机后自动登录:

System->Administration->LoginScreen选择Log in as 

 

 

3.       linux系统根目录下创建一个共享目录android

$ sudo –i

$ cd  /

$ mkdir android

$ chmod 777 android

 

在文件管理里面找到/android目录,选择共享该目录,会提示安装驱动,安装samba完毕后,添加共享目录, 并且在/etc/samba/smb.conf文件下添加如下内容:

 

$sudo gedit /etc/samba/smb.conf

 

[android]

   comment = android

   path = /android

   guest ok = no

   browseable = yes

   writeable = yes

   create mask = 0755

   directory mask = 0755

 

 

然后重新启动samba

$sudo /etc/init.d/samba restart

 

关闭服务smaba的指令时

$sudo /etc/init.d/samba stop

 

4.    安装一些环境:

注意以下安装步骤都是在root权限下执行:

$sudo –i

 

接下来更新软件源:

$sudo apt-get update

 

$ apt-get install gnump flex bison gperf  uild-essential zip curl  zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev git-core

 

其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等;

Git是Linux Torvalds(Linux之父)为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(Repository),许多个工作目录(Working Copy),而在Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们支持离线工作,本地提交可以稍后提交到服务器上;

GnuPG(GNU Privacy Guard或GPG)是一个以GNU通用公共许可证释出的开放源码用于加密或签名的软件;

flex和bison都是词法分析器生成器,他们常常一起配合使用,使用它们可以生成解释器,编译器,协议实现等多种程序。

 

5.  更换默认sh软连接指向bash

一般装完系统,默认的sh是指向dash的,dash也是shell脚本的一种,但是已经过时,现在基本所有的shell脚本都用bash解析器.

$ rm /bin/sh

$ ln –s  bin/bash  /bin/sh

ls /bin/sh -l即可查看到sh已经指向bash了

 

 

6.       change default gcc comple soft link to gcc-4.1 and default g++ comple soft link to g++-4.1

$ ls /usr/bin/gcc* -l

 

如果不是以下情况:/usr/bin/gcc -> /usr/bin/gcc-4.1,进行以下操作:

$ rm /usr/bin/gcc

$ ln –s  /usr/bin/gcc-4.1  /usr/bin/gcc

修改之后,使用gcc –version 查看是否是正确的

 

       $ ls /usr/bin/gcc* -l

如果不是以下情况:/usr/bin/g++ -> /usr/bin/g++-4.1, 进行以下操作:

$ rm /usr/bin/g++

$ ln –s  /usr/bin/g++-4.1 /usr/bin/g++

修改之后,使用g++ –version 查看是否是正确的

 

7.       安装 arm-eabi-4.4.0

$ sudo tar xzvf prebuilt-0f1763c.tar.gz  -C /opt

$ sudo mv /opt/prebuilt-0f1763c/ /opt/arm-eabi-4.4.0/

 

8.  安装JDK1.5

注:官方文档说如果用sun-java6-jdk可出问题,得要用sun-java5-jdk。经测试发现,如果仅仅make(make不包括make sdk),用sun-java6-jdk是没有问题的。而make sdk,就会有问题,严格来说是在make doc出问题,它需要的javadoc版本为1.5。

sudo mv jdk-1_5_0_22-linux-amd64.bin /opt/

cd /opt

sudo chmod a+x jdk-1_5_0_22-linux-amd64.bin

sudo ./jdk-1_5_0_22-linux-amd64.bin

   

输入:yes

 

9.       安装wine

wine是一款优秀的Linu系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,可以运行许多大型Windows系统下的软件。

 

sudo apt-get install wine1.2(最好是最新版本的)

 

安装软件的方法:

$ wine xxx(xxx代表存放软件的路径)

 

下面是安装完source insight之后的图片:

 

 

10. 安装Perl 5.8.X /Python 2.5.X/Gnu make 3.81(不过这个我在真机上没有安装,暂时没什么问题,这是MTK要求的,建议按照他的要求操作)

Perl 5.8.X  --- 缺省安装是perl 5.10.x, (不能再vm的共享目录安装,否则会失败)

 

$tar xjvf perl-5.8.9.tar.bz2.tar

$cd perl-5.8.9

$./configure.gnu

$./make && make install

$mv /usr/bin/perl /usr/bin/perl.bak

$ln -s /usr/local/bin/perl /usr/bin/perl  #这里要注意一下,因为有时候你安装的时候不一定在这个目录下,我在这就在这出现问题,我刚开始以为是在/usr/bin/perl, 最后在安装vsftp这个软件时, 一直报错。

$cd /

$perl –v

 

Python 2.5.X   --- 缺省安装是python 2.6.x

$tar jxvf  Python-2.5.5.tar.bz2

$cd Python2.5.5

$./configure

$make && make install

$mv /usr/bin/python  /usr/bin/python.bak

$ln -s /usr/bin/python2.5 /usr/bin/python

$ python --version

 

11.   创建android编译环境配置脚本

$ sudo vim /etc/android.conf

将以下内容添加到该文件下:

 

12. 安装vsftp

$ sudo apt-get install vsftpd

 

安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
如果没有生成这个用户的话可以手动来,生成了就不用了:

 

通过sudo vim /etc/vsftpd.conf修改,

配置文件如下:

一般情况下,只需要修改红色两行即可!!

代码:

# 上传总开关(全局控制)
write_enable=YES

# 接受匿名用户,默认无密码请求
#anonymous_enable=YES

# 接受本地用户
local_enable=YES

 

对了,更改配置后不要忘了重启ftp服务  

sudo /etc/init.d/vsftpd restart


此外还有开启关闭服务的命令

sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop

这样,就可以使用电脑的IP地址登陆这个ftp服务器了。

 

 

 

 

经过以上操作,环境基本上搭建完成。在真机上也是一样。

 

 

 

 

 

注意:当我们编译android软件时,需要先执行(在root权限下),我在这就遇到问题

$ sudo –i

$ source /etc/android.conf

 

对于测试,最好在真机上,因为在编译时,占用内存很厉害,对内存的要求最好在2G以上,这样效率就会很高。

 

三:编译android 测试一下:(alps1048v2p1.tar是源码)

1. 把alps1048v2p1.tar 拷贝到 HOME目录下的myandroid(其中myandroid是自己创建的),解压;

$ cd

$ cd myandroid

$ sudo tar xvf alps1048v2p1.tar.gz

$ cd liu*****

$ ./mk g1 n

 

其中****代表源码包的解压之后的目录,由于太长,就用其代表以下, 对于编译,可以参考makeMTK这个文件或者输入./mk -- help查看具体编译说明.

 

编译好之后,会输出到out/target/product目录下

 

以上内容是参照《Andoird Build Environment on Ubuntu 64 bit Installation SOP》,以及之前的各位同事所写的文档。

 

这篇关于在虚拟机以及pc机上安装ubuntu 9.10_x86_64系统搭建android开发环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

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

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

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

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