因为一些工作上的原因,需要切换到Linux环境下做点开发,我选择的Linux发行版本为ubuntu(我不建议使用fedora,我最开始就是使用的fedora,但发现并不是特别好使,有些插件没办法安装,环境也搭建不起来)。在这里就先不说ubuntu的安装(比较简单,我采用的是U盘安装)先记录android开发环境的搭建。
一、安装jdk
ubuntu系统中自带有openjdk,所以当在终端中输入java -version命令的时候,会有一些提示的,忽略这些信息,我们要自己手动配置自己的jdk;
首先到http://www.oracle.com/technetwork/java/javase/downloads/index.html下载jdk,下载完成之后使用系统中的归档管理器打开,并把文件解压到一个文件夹下面;
二、配置环境
Step1:
# 将解压好的jdk1.7.0_21文件夹用最高权限复制到/usr/lib/jvm目录里
sudo cp -r ~/jdk1.7.0_21/ /usr/lib/jvm/
Step2:
# 配置环境变量
sudo gedit ~/.profile
在末尾加上:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21
然后保存关闭,使用source更新下
$ source ~/.profile
使用env命令察看JAVA_HOME的值
$ env
如果JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21,说明配置成功。
Step3:
# 将系统默认的jdk修改过来
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_21/bin/java 300
输入sun jdk前的数字就好了
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_21/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
Step4:
然后再输入java -version,看到如下信息,就说明改成sun的jdk了:
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)
三、验证环境是否配置成功
在终端中输入java -version;如果出现java version "1.7.0_51" 。。。 类似的信息,即证明jdk安装及环境配置成功;
如果还不放心,可以写一个文件测试一下是否真的成功了;找一个目录新建一个Hello.java文件
public class Hello{
public static void main(String args[]){
System.out.println("Hello Ubuntu");
}
}
在终端中进入存放Hello.java文件所在的目录,输入javac Hello.java 。如果没有提示,表示编译成功,再次输入java Hello,如果输出Hello Ubuntu表示已经肯定配置成功;
四、下载eclipse
这里我推荐直接去android官网下载对应的Linux的集成了SDK的eclipse,解压即可使用;下载地址:http://developer.android.com/sdk/index.html;
五、第一个HelloWorld
在elipse下,新建一个Android项目,点击Run As的时候,却发现明明连接上了手机,却找不到对应的设备,在这里,也需要进行一些设置;
1.在终端中输入 lsusb
会发现结果中有如下类似记录:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp.
2.这时输入 sudo gedit /etc/udev/rules.d/50-android.rules
在打开的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
3.在终端中输入以下命令修改文件访问权限及重启udev服务:
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
sudo /etc/init.d/udev restart
注销当前用户,重新进入ubuntu系统;
4.在终端中进入android sdk的platform-tools目录,输入如下命令(这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server
sudo ./adb start-server
如果出现类似下面的信息,即表示adb已经能够正常识别到设备了;
* daemon not running. starting it now on port 5037 *
* daemon started successfully * ///devices
5.再次运行程序,正常情况下应该程序就能安装到手机上了,如果有什么错误或遇到了问题,欢迎交流指正!
六、可能遇到的问题
我在配置一个开发环境的时候,把环境变量配置"好"后,第二天再次打开电脑,进入到输入密码界面,明明输入的是正确的密码,但是去闪一下又回到输入密码界面,但是如果随便乱输入密码则又会提示密码错误;在网上搜寻了一下,据说是环境变量配置的问题;
解决办法:在输入密码画面下同时按下CTRL + ALT + F1,在弹出来的命令窗口中输入root账户的密码,进入命令行模式,输入命令:/usr/bin/sudo /usr/bin/vi /etc/profile,之后按下dd(连续按下两次d键)删除错误的行,然后按住shift输入:号,然后输入wq回车,重启即可解决问题。
七、其它
1、在Ubuntu中,默认的firefox浏览器很不好用,经常就崩掉了,还好,我们可以使用chrome浏览器,安装方法如下:
- 进入 Chrome Linux 版下载地址:http://www.google.com/chrome/eula.html;提供了 deb 和 rpm 两种格式的安装程序,都有 32位和64位版本。
- 下载完之后,在终端窗口中进入文件存储位置,切换到root用户,运行命令:sudo dpkg -i google-chrome-beta_current_i386.deb
- 如果报错(缺少依赖关系)sudo apt-get -f install,安装所信赖的插件;
2、bin文件的安装:
在终端窗口中进入bin文件所在目录,修改文件的权限为可执行(见2),然后执行命令:sudo ./file.bin
八、修改文件及文件夹权限
Linux下的文件操作权限和Windows其实是一样的,也就是读、写、执行。这三个权限分别用一个值代替(r=4,w=2,x=1),将其中的一个或者两个等其它组合起来,就构成了用户对该文件的访问权限,如可读可执行:(rx=5+1);
在Linux下,改变文件或文件夹的权限使用chmod命令,该命令有两种用法:
- 1 包含字母和操作符表达式的文字设定法;
- 2 包含数字的数字设定法。
1、文字设定法:
chmod [who] [+ | - | =] [mode] filename
参数:
操作对象who可是下述字母中的任一个或者它们的组合:
- u (user) 文件或目录的所有者
- g (group) 与文件属主有相同组ID的所有用户
- o (others) 其它用户
- a (all) 所有用户,系统的默认值
操作符号:
- + 添加某个权限
- - 移除某个权限
- = 赋予给定权限并取消其它所有权限(如果有的话)
mode:
- 即之前提到的,r / w / x ;
2、数字设定法:
- sudo chmod 777 xxx.file (文件)
- sudo chmod -R 777 xxx.file (文件夹,文件递归需要加-R)
如上:777三个7分别代表u/g/o的rwx权限,需要记住的是如果是要改变文件夹及里面的所有文件的权限需要添加-R递归;
注:777表示的是读、写、执行的权限(rwx);