实测,linux下使用android studio开发,资源占用少,模拟器速度快(比win的2.0快很多)。
测试时间
2016/7/2
系统软硬
操作系统:Ubuntu Kylin 16.04 64位
硬件:笔记本
CPU:i5-3210m
内存:8g ddr3 1600
android studio
android-studio-ide-143.2821654-linux.zip64位来源:http://www.android-studio.org/
android sdk
android-sdk_r24.4.1-linux.tgz来源:http://www.android-studio.org/
jdk
jdk-8u91-linux-x64.tar.gz 64位来源:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
测试结果:chrome浏览器打开5+网页(还是firefox好用),android studio,一个虚拟机(lollipop),gnome-system-monitor查看cpu最高11%,内存 52%,模拟器打开的速度和操作的流畅度以及这个时候的系统流畅度都明显比win7好。win7平时是内存97%,打开chrome也是这个数,但是会卡。
1 jdk安装和环境变量配置
jdk-8u91-linux-x64.tar.gz压缩包提取得到文件夹jdk1.8.0_91
1.1 将jdk1.8.0_91复制到/usr/lib/jvm目录
(1)使用终端命令:sudo nautilus;进入根目录,将jdk1.8.0_91复制到/usr/lib/jvm(由于参考网上资料,所以放在该目录,可指定其他目录),
(2)配置环境变量,终端命令:sudo gedit /etc/profile
在打开的文档的最后新起一行,添加如下:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
(3)终端命令source /etc/profile
(4)终端命令java -version
出现如下内容则表示配置成功:
java version "1.8.0_91"Java(TM) SE Runtime Environment (build 1.8.0_91-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
(5) 环境变量配置完毕,指定全局jdk版本,否则可能导致android sdk java not found
sudo update-alternatives –install /usr/local/bin/java java [你的JDK安装路径]/bin/java 0
sudo update-alternatives –install /usr/local/bin/javac javac [你的JDK安装路径]/bin/javac 0
~:update-alternatives --display java
查看全局jdk版本
2 android studio安装
2.1 sdk环境配置
(1)android-sdk_r24.4.1-linux.tgz提取得到目录android-sdk-linux
(2)将android-sdk-linux目录复制到/opt目录下(如有需要,使用sudo nautilus命令)
(3)配置环境变量,终端命令:sudo gedit /etc/profile在打开的文档的最后新起一行,添加如下:
export PATH=$PATH:/opt/android-sdk-linux/platform-tools/
export PATH=$PATH:/opt/android-sdk-linux/tools/:/opt/android-sdk-linux/tools/bin/
重启系统执行 andorid
命令,会打开sdk manager
下载对应的tools和image,如果仅想通过终端启动avd则,sdk版本不应超过25.
(4) update sdk and tools
~:cd android-sdk-linux/tools ~:sudo ./android
1) update new version:
Android SDK Tools
Android SDK Platform-tools
Android SDK Build-tools
Sources for Android SDK
2) delete old version
(5)终端命令adb -version
安装完platform-toos就可以使用adb命令了
出现如下内容则表示配置成功:Android Debug Bridge version 1.0.36Revision fd9e4d07b0f5-android
2.2 android studio安装
(1)android-studio-ide-143.2821654-linux.zip提取得到目录android-studio
(2)将android-studio目录复制到/opt目录下(如有需要,使用sudo nautilus命令)
进入目录:cd /opt/android-studio/bin/
运行:sudo ./studio.sh
运行之后可设置指向已下载的sdk目录
该目录可能没有写权限,所以要更改目录权限
(3)建立快捷方式
/home/目录下新建AndroidStudio.desktop,实际上就是指向/opt/android-studio/bin/studio.sh,编辑内容如下:
[Desktop Entry]
Name=AnbdroidStudio
Comment=AndroidStudio
Exec=/opt/android-studio/bin/studio.sh
Icon=/opt/android-studio/bin/studio.png
Terminal=false
Type=Application
Categories=Application;Development;
保存后在这个文件的属性里把它设置成可执行。
3 创建虚拟机
(1) 可能存在虚拟机目录.android找不到的问题。
如果提示中的目录在/home目录下,则在home目录ctrl+h显示隐藏文件,删除.android目录和.android的引导文件,然后只需重新创建.android目录,然后退出程序,重新启动应用(如有必要则重启系统)
(2) 可能打开后黑屏,选择的api版本太新,可以降低1或更多。
(3) 命令行启动和创建虚拟机
~:android avd
4 问题解决
4.1 权限问题
avd启动过程中会出现无法save文件或者是sdk home无法写入,可以把sdk home用户和用户组设置成当前用户
sudo chown -R user:group /opt/android-sdk-linux/
4.2 i965_dri.so的驱动问题
执行android avd可能会出现此驱动问题
mv /opt/android-sdk-linux/tools/lib64/libstdc++/libstdc++.so.6{,.bak}
mv /opt/android-sdk-linux/tools/lib64/libstdc++/libstdc++.so.6.0.18{,.bak}
然后重新启动avd
4.3 android studio无法输入中文问题
sudo gedit /opt/android-studio/bin/studio.sh
在有效位置的开头加上以下
export XMODIFIERS="@im=fcitx"export GTK_IM_MODULE="fcitx"export QT_IM_MODULE="fcitx"
4.4 虚拟机failed to create sdcard
系统和软件都是64位,但是仍需要32位支持,为系统安装ia32-libs库
两个方法,
第一个方法2016/07/22亲测有效,(源自雪人的博客)
<font color=Red>这个命令:sudo apt-get install libc6:i386libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386libstdc++6:i386</font>
在雪人的博客中有下面一段扔可以作为后续问题的参考,后续可能会遇到gradle运行失败,R文件无法识别
在此援引
“
我本意是运行adb的。运行adb时,发现缺乏libncurses5库,自己动手,丰衣足食,比葫芦画瓢,
sudo apt-get installlibncurses5:i386
在64位下,gcc默认编译代码位64位的,但是,如果你想编译位的,可以用gcc-m32选项,来设置。
不过,不幸的是,会出现错误,说找不到/usr/include/features.h文件什么的。google一下,发现用这种方法:
sudo apt-get installg++-multilib(就这一句有用的)
这么纠结过后,终于能创建模拟器了,但是又有新的问题:
SDL init failure, reason is: No availablevideo device
各方查找发现:
方法1:sudo apt-getinstall ia32-libs lib32stdc++6
”
方法2,可能失效,依次执行下边的命令:
(1)获取权限:sudo -i
(2)进入apt源列表:cd /etc/apt/sources.list.d
(3)添加源:echo "deb http://old-releases.ubuntu.com/ubuntu raring main restricted universe multiverse" > ia32-libs-raring.list
(4)更新:apt-get update,这条命令开始下载,
下载完后:apt-get install ia32-libs,这条命令是安装ia32-libs,有可能提示需要依赖库xxx,但是xxx不存在,那么就安装这个xxx,apt-get install xxx,然后可能提示需要另一个依赖库yyy,同样安装这个yyy,apt-get install yyy,如果后边还有提示就继续安装,直到成功。
(5)恢复源:rm ia32-libs-raring.list
apt-get update
2016/7/3 15:24总结:以上是目前已知问题和解决方案,任何解决方法可能都需要在重启系统之后才会生效。
参考:
http://blog.sina.com.cn/s/blog_66c16c980101g5qj.html,雪人的博客;
http://blog.sina.com.cn/s/blog_b15639e00101tor5.html,xiaowei2012缘的博客;
http://blog.csdn.net/ropai/article/details/24251389,非著名码农的专栏,以及文章下a110pple 发表的评论;