昨天,把电脑主机全换了,因此之前的工作环境得重新搭建,我是既开心又纠结,开心的是可以用高配置的电脑,纠结的是搭环境比较麻烦,稍有不慎,就会导致源代码编译不过,前功尽弃。为了减少工作量,以及避免不必要掉麻烦。我都是尽量保持与之前电脑相同的软件以及配置方式,终于今天全编译代码通过了,总共花了40多分钟,比之前电脑的3个多小时缩短了很多宝贵时间,总之就是一个字:爽,两个字:超爽。

下图是新电脑的配置,其实要是加个SSD,估计编译速度又得提高一个档次。

OK,进入正题,本人安装的是64位的ubuntu 11.04,这是为了与之前老电脑一致(之前是32位的),谷歌也建议我们编译4.0以上代码使用11.04,其实个人觉得,12.04应该也是没什么很大的问题的,而且11.04已经没有官方源了,我是为了省事,才继续使用11.04。

1.首先是gcc和g++版本:

输入命令:

gcc -v

对应版本:... ...gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)

g++ -v

对应版本:... ...gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)

2.Java版本:

javac -version

我这里是:javac 1.6.0_37

安装:32位jdk下载

64位jdk下载

下载好Jdk后执行下面的操作:

sudo mv jdk-6u37-linux-i586.bin /usr/bin
 sudo chmod +x /usr/bin/jdk-6u37-linux-i586.bin
 sudo ./usr/bin/jdk-6u37-linux-i586.bin
 cd
 vim .profile
增加下面两行到文件后面:

export JAVAHOME=/usr/bin/jdk1.6.0_37/
export PATH=$JAVAHOME/bin:$PATH

存盘重启工具就生效了

如果安装64位的操作系统,安装新版本java的时候可能会报错,先尝试下面的命令看能否解决(我没
遇到)

sudo apt-get install g++-multilib
 sudo apt-get install gcc-multilib

如果编译报错androideabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

sudo apt-get install lib32z1
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev valgrind zlib1g-d
sudo apt-get install vim subversion
sudo apt-get install openssh-server
sudo apt-get install libarchive-zip-perl

参考 http://source.android.com/source/initializing.html

3.ndk配置:

我下载了最新的ndk-r9,从官网下载后,解压到任意位置,我这里是:
/home/topwise/way/adt-bundle-linux-x86_64-20130917/android-ndk-r9

然后配置环境变量:
sudo vim /etc/environment
我的电脑显示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/topwise/way/adt-bundle-linux-x86_64-20130917/android-ndk-r9"
最后那个路径就是我们指定的ndk路径。保存,然后注销或重启一下电脑,打开终端输入ndk-build即可。

4.adb配置:

我没有单独下载adb工具,因为我们在谷歌官网下载eclipse时,里面自带了。比如我下载的是:adt-bundle-linux-x86_64-20130917

adb工具就在adt-bundle-linux-x86_64-20130917/sdk/platform-tools目录下面,

我们可以cd到此目录下,然后执行:

chmod 777 adb

sudo cp adb /usr/bin

即可。

千万不要以为就此结束了,我们此时连接一台手机输入adb shell,会发现连接不上,因为我们还少了两步:

修改文件(可能不同的电脑文件名不同,但是.rules后缀是一样的):
sudo vim /etc/udev/rules.d/70-persistent-net.rules

在末尾加上一句:
SUBSYSTEM=="usb",ATTRS{idVendor}=="1782",ATTRS{idProduct}=="5d04",MODE="0666"

注意:idVendor对应下面ID后4位,idProduct对于冒号后面4位数字(通过lsusb命令可以查看如下类似的)
Bus 002 Device 014: ID 1782:4d00 Spreadtrum Communications Inc

最后,我们需要指定手机端口号:

vim ~/.android/adb_usb.ini

如果没有此文件,新建一个就是,在文件末尾加上0x1782,也是对于上面ID后4位数字,记得加上0x,因为是16进制的。

OK,简单记一下笔记,以备将来之需。

Android之ubuntu源码开发环境搭建笔记的更多相关文章

  1. spring源码开发环境搭建

    下载spring源码 地址 https://github.com/spring-projects/spring-framework 可以下载release版本,也可以直接git clone当前开发版本 ...

  2. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  3. 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  4. Spark源码分析环境搭建

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源 ...

  5. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

  6. ubuntu下Nodic开发环境搭建

    ubuntu下Nodic开发环境搭建 1.编译环境 ubuntu可直接装gcc编译环境 sudo apt install gcc-arm-none-eabi 也可以下载可执行文件download 2. ...

  7. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

  8. Spring5源码阅读环境搭建-gradle构建编译

      前沿:Spring系列生态十分丰富,涉及到各个方面.但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,我们需要解读源码.   在构建Spring源码阅 ...

  9. Ubuntu 14.04.1 配置 Android 源码开发环境(jdk版本切换)(转载)

    转自:http://www.cnblogs.com/ren-gh/p/4248407.html # Ubuntu 14.04.1 1.更新源: sudo apt-get update 安装vim工具: ...

随机推荐

  1. Openning SharePoint - 80 website gives HTTP 404 Error, The webpage cannot be found ! on SharePoint 2013

    ask: I tried to open the SharePoint - 80 throw Browse in IIS, but I get HTTP 404 Error (The webpage ...

  2. 大型运输行业实战_day08_1_memcache缓存生产应用

    1.memcache使用环境搭建 1.安装memcached服务器 安装方法 以管理员身份打开cmd,在cmd中执行如下命令: 注意:在执行该命令时必须在memcached.exe文件下执行. 2.开 ...

  3. spring boot 启动方式

    一:IDE 运行Application这个类的main方法 二:在springboot的应用的根目录下运行mvn spring-boot:run 三:使用mvn install 生成jar后运行 先到 ...

  4. 慕课网access_token的获取

    access_token的接口是微信公众号一个基础接口,access_token接口微信公众号一个非常重要的接口 access_token是微信公众号的全局唯一票据,公众号的所有接口的调用都需要使用到 ...

  5. 10-Linux与windows文件互传-pscp坑---- 'pscp' 不是内部或外部命令,也不是可运行的程序或批处理文件

    1.下载pscp工具http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 2.拷贝到C:\Windows\System32 如 ...

  6. catkin_make 与cmake

    http://blog.csdn.net/zyh821351004/article/details/50388429 1.  catkin_make 与cmake的关系 程序在cmake编译的流程: ...

  7. Scrum 项目3.0--软件工程

    1. 确保product backlog井然有序.(参考示例图1) (例图1) 2.把故事进一步拆分成任务.(参考示例图2) (例图2) 3. 形成Sprint backlog. Scrum mast ...

  8. plupload.Uploader多文件上传

    .前台 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CommonUpfi ...

  9. centos_x64 6.4 安装jdk1.7

    1.行到user目录下新建一个java目录 #cd /usr #mkdir java #cd /usr/java/ 2.下载jdk 先从oracle找到要下载的jdk地址然后 wget http:// ...

  10. for() 和$.each()的用法区别

    一.对于数组 var arr=['姚明','易建联','张继科']; $.each(arr,function(index,value){ document.write(index+"=&qu ...