實(shí)測(cè),linux下使用android studio開(kāi)發(fā),資源占用少,模擬器速度快(比win的2.0快很多)。
測(cè)試時(shí)間
2016/7/2
系統(tǒng)軟硬
操作系統(tǒng):Ubuntu Kylin 16.04 64位
硬件:筆記本
CPU:i5-3210m
內(nèi)存:8g ddr3 1600
android studio
android-studio-ide-143.2821654-linux.zip64位來(lái)源:http://www.android-studio.org/
android sdk
android-sdk_r24.4.1-linux.tgz來(lái)源:http://www.android-studio.org/
jdk
jdk-8u91-linux-x64.tar.gz 64位來(lái)源:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
測(cè)試結(jié)果:chrome瀏覽器打開(kāi)5+網(wǎng)頁(yè)(還是firefox好用),android studio,一個(gè)虛擬機(jī)(lollipop),gnome-system-monitor查看cpu最高11%,內(nèi)存 52%,模擬器打開(kāi)的速度和操作的流暢度以及這個(gè)時(shí)候的系統(tǒng)流暢度都明顯比win7好。win7平時(shí)是內(nèi)存97%,打開(kāi)chrome也是這個(gè)數(shù),但是會(huì)卡。
1 jdk安裝和環(huán)境變量配置
jdk-8u91-linux-x64.tar.gz壓縮包提取得到文件夾jdk1.8.0_91
1.1 將jdk1.8.0_91復(fù)制到/usr/lib/jvm目錄
(1)使用終端命令:sudo nautilus;進(jìn)入根目錄,將jdk1.8.0_91復(fù)制到/usr/lib/jvm(由于參考網(wǎng)上資料,所以放在該目錄,可指定其他目錄),
(2)配置環(huán)境變量,終端命令:sudo gedit /etc/profile
在打開(kāi)的文檔的最后新起一行,添加如下:
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
出現(xiàn)如下內(nèi)容則表示配置成功:
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) 環(huán)境變量配置完畢,指定全局jdk版本,否則可能導(dǎo)致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環(huán)境配置
(1)android-sdk_r24.4.1-linux.tgz提取得到目錄android-sdk-linux
(2)將android-sdk-linux目錄復(fù)制到/opt目錄下(如有需要,使用sudo nautilus命令)
(3)配置環(huán)境變量,終端命令:sudo gedit /etc/profile在打開(kāi)的文檔的最后新起一行,添加如下:
export PATH=$PATH:/opt/android-sdk-linux/platform-tools/
export PATH=$PATH:/opt/android-sdk-linux/tools/:/opt/android-sdk-linux/tools/bin/
重啟系統(tǒng)執(zhí)行 andorid
命令,會(huì)打開(kāi)sdk manager
下載對(duì)應(yīng)的tools和image,如果僅想通過(guò)終端啟動(dòng)avd則,sdk版本不應(yīng)超過(guò)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命令了
出現(xiàn)如下內(nèi)容則表示配置成功: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目錄復(fù)制到/opt目錄下(如有需要,使用sudo nautilus命令)
進(jìn)入目錄:cd /opt/android-studio/bin/
運(yùn)行:sudo ./studio.sh
運(yùn)行之后可設(shè)置指向已下載的sdk目錄
該目錄可能沒(méi)有寫(xiě)權(quán)限,所以要更改目錄權(quán)限
(3)建立快捷方式
/home/目錄下新建AndroidStudio.desktop,實(shí)際上就是指向/opt/android-studio/bin/studio.sh,編輯內(nèi)容如下:
[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;
保存后在這個(gè)文件的屬性里把它設(shè)置成可執(zhí)行。
3 創(chuàng)建虛擬機(jī)
(1) 可能存在虛擬機(jī)目錄.android找不到的問(wèn)題。
如果提示中的目錄在/home目錄下,則在home目錄ctrl+h顯示隱藏文件,刪除.android目錄和.android的引導(dǎo)文件,然后只需重新創(chuàng)建.android目錄,然后退出程序,重新啟動(dòng)應(yīng)用(如有必要?jiǎng)t重啟系統(tǒng))
(2) 可能打開(kāi)后黑屏,選擇的api版本太新,可以降低1或更多。
(3) 命令行啟動(dòng)和創(chuàng)建虛擬機(jī)
~:android avd
4 問(wèn)題解決
4.1 權(quán)限問(wèn)題
avd啟動(dòng)過(guò)程中會(huì)出現(xiàn)無(wú)法save文件或者是sdk home無(wú)法寫(xiě)入,可以把sdk home用戶(hù)和用戶(hù)組設(shè)置成當(dāng)前用戶(hù)
sudo chown -R user:group /opt/android-sdk-linux/
4.2 i965_dri.so的驅(qū)動(dòng)問(wèn)題
執(zhí)行android avd可能會(huì)出現(xiàn)此驅(qū)動(dòng)問(wèn)題
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}
然后重新啟動(dòng)avd
4.3 android studio無(wú)法輸入中文問(wèn)題
sudo gedit /opt/android-studio/bin/studio.sh
在有效位置的開(kāi)頭加上以下
export XMODIFIERS="@im=fcitx"export GTK_IM_MODULE="fcitx"export QT_IM_MODULE="fcitx"
4.4 虛擬機(jī)failed to create sdcard
系統(tǒng)和軟件都是64位,但是仍需要32位支持,為系統(tǒng)安裝ia32-libs庫(kù)
兩個(gè)方法,
第一個(gè)方法2016/07/22親測(cè)有效,(源自雪人的博客)
<font color=Red>這個(gè)命令:sudo apt-get install libc6:i386libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386libstdc++6:i386</font>
在雪人的博客中有下面一段扔可以作為后續(xù)問(wèn)題的參考,后續(xù)可能會(huì)遇到gradle運(yùn)行失敗,R文件無(wú)法識(shí)別
在此援引
“
我本意是運(yùn)行adb的。運(yùn)行adb時(shí),發(fā)現(xiàn)缺乏libncurses5庫(kù),自己動(dòng)手,豐衣足食,比葫蘆畫(huà)瓢,
sudo apt-get installlibncurses5:i386
在64位下,gcc默認(rèn)編譯代碼位64位的,但是,如果你想編譯位的,可以用gcc-m32選項(xiàng),來(lái)設(shè)置。
不過(guò),不幸的是,會(huì)出現(xiàn)錯(cuò)誤,說(shuō)找不到/usr/include/features.h文件什么的。google一下,發(fā)現(xiàn)用這種方法:
sudo apt-get installg++-multilib(就這一句有用的)
這么糾結(jié)過(guò)后,終于能創(chuàng)建模擬器了,但是又有新的問(wèn)題:
SDL init failure, reason is: No availablevideo device
各方查找發(fā)現(xiàn):
方法1:sudo apt-getinstall ia32-libs lib32stdc++6
”
方法2,可能失效,依次執(zhí)行下邊的命令:
(1)獲取權(quán)限:sudo -i
(2)進(jìn)入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,這條命令開(kāi)始下載,
下載完后:apt-get install ia32-libs,這條命令是安裝ia32-libs,有可能提示需要依賴(lài)庫(kù)xxx,但是xxx不存在,那么就安裝這個(gè)xxx,apt-get install xxx,然后可能提示需要另一個(gè)依賴(lài)庫(kù)yyy,同樣安裝這個(gè)yyy,apt-get install yyy,如果后邊還有提示就繼續(xù)安裝,直到成功。
(5)恢復(fù)源:rm ia32-libs-raring.list
apt-get update
2016/7/3 15:24總結(jié):以上是目前已知問(wèn)題和解決方案,任何解決方法可能都需要在重啟系統(tǒng)之后才會(huì)生效。
參考:
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,非著名碼農(nóng)的專(zhuān)欄,以及文章下a110pple 發(fā)表的評(píng)論;