Ubuntu与Android开发的邂逅

Posted 码个蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu与Android开发的邂逅相关的知识,希望对你有一定的参考价值。


博客:https://www.jianshu.com/p/d3e144d29708


回想楼主当初刚使用Ubuntu时,那叫个两眼一抹黑, 连个解压命令都不会,安装个中文输入法都得折腾好几个小时。。。


现在写这篇文章,是希望给第一次使用Ubuntu开发android的童鞋一点点指导,希望他们可以轻松的上手Ubuntu.  本篇文章大概包含一下几个内容:


  • 中文输入法的安装

  • JDK/SDK/NDK的安装与环境变量配置

  • AndroidStudio的安装,启动

  • AndroidStudio中使用中文输入法

  • Ubuntu中创建快捷方式

  • Android模拟器的一些问题

  • Chrome浏览器安装


中文输入法(搜狗)的安装


先声明一下, 楼主使用的是系统是: Ubuntu16.04 64位


1. 下载搜狗输入法for linux


下载下来是sogoupinyin_xxx.deb。deb文件类似于Windows上的exe文件,可以直接运行的。但是由于这是第三方应用,ubuntu没有软件源无法识别安装。


2. 下载Gdebi用于安装搜狗输入法


sudo apt-get install gdebi


3. 安装搜狗输入法


进入到搜狗输入法所在目录执行如下命令:


sudo gdebi sogoupinyin.deb


4. 启用搜狗输入法


重启电脑,屏幕右上角的键盘按钮处会出现搜狗输入法,如下图


Ubuntu与Android开发的邂逅


如果没有出现搜狗输入法,继续第5,6步操作



Ubuntu与Android开发的邂逅


6. 点击右下角 + 号, 出现如下界面, 去掉 “Only show current Language” 前的对勾, 在搜索框中输入 “sogou” 就会搜索到 “Sogou Pinyin” , 选中“Sogou Pinyin" ,如下图


Ubuntu与Android开发的邂逅


点击OK, 再重启电脑, 就可以看到搜狗输入法啦!


JDK/SDK/NDK的安装与环境变量配置


JDK,SDK,NDK的安装与环境变量的配置方法都相同。 所谓的安装就是把下载下来的包解压出来。JDK是需要自己手动下载和解压的, SDK、NDK可以通过AndroidStudio下载安装,就无需我们手动下载与解压,只需配置环境变量即可。 这里以JDK为例:


1. 下载JDK(这没什么好说的)


2. 解压JDK


首先,在/home目录下建立一个java文件夹


sudo mkdir /home/java


解压JDK到/home/java目录下


sudo tar zxvf ./jdk-7-linux-i586.tar.gz -C /home/java


解压后/home/java目录下会出现一个jdk1.8.0_112的文件夹(不同JDK的版本文件夹的名字会稍许不同)


3. 环境变量的配置


打开配置文件


sudo gedit /etc/profile


然后在/etc/profile的文件末尾添加


export JAVA_HOME=/usr/lib/jvm/jdk7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


保存后运行如下命令是环境变量生效


source /etc/profile


4. 配置默认JDK


由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。所以为了使得我们刚才安装好的JDK版本能成为默认的JDK版本,我们还要进行下面的配置。执行下面的命令:


sudo update-alternatives --install /usr/bin/java java /home/java/jdk1.8.0_112/bin/java 300 
sudo update-alternatives --install /usr/bin/javac javac /home/java/jdk1.8.0_112/bin/javac 300


注意:如果以上两个命令出现找不到路径问题,只要重启一下计算机在重复上面两行代码就OK了。


执行下面的代码可以看到当前各种JDK版本和配置:


sudo update-alternatives --config java


执行java -version出现如下界面则表示运行配置成功


java version "1.8.0_112" 
Java(TM) SE Runtime Environment (build 1.8.0_05-b05)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)


说一些题外话,关于环境变量的配置, 当初第一次使用Ubuntu系统时,我是很迷惑的。 网上有的说是配置/etc/profile, 有的说配置~/.bash_profile或~/.bash_login或~/.profile或~/.bashrc . 这么多地方可以配置, 那我们到底配置在那里呢?


其实Ubuntu系统(至少16.04版本是这样)只有/etc/profile和~/.bashrc两处可以配置环境变量。 其中/etc/profile是系统级别的环境变量的配置,~/.bashrc是用户级别的环境变量的配置。


“系统级别的环境变量的配置”和“用户级别的环境变量的配置”有什么区别的?


因为Ubuntu是一个多用户操作系统,可以在一个系统中创建多个用户。 假设我创建了A,B两个用户。 如果我在/etc/profile中配置了JDK的环境变量,那么不论我以A用户登录或是以B用户登录,我都可以使用到已经配置好的JDK环境变量。


 而如果我是以A用户登录,然后在~/.bashrc中配置JDK环境变量, 那么切换到B用户登录的话,就无法使用JDK, 因为每一个用户都会有一个独立~/.bashrc,而我们刚才只配置了A的~/.bashrc,而没有配置B的~/.bashrc


至于其他的~/.bash_profile或~/.bash_login或~/.profile之类的配置文件, 这是其他Linux发行版本所有的, 与Ubuntu无关。


安装AndroidStudio


1. 下载AndroidStudio: android-studio-ide-xxx.xxxxxx-linux.zip


2. 解压:unzip android-studio-ide-xxx.xxxxxx-linux.zip -d android-studio


3. 将解压出来的 android-studio移动到/home/ide目录下

mv android-studio /home/ide


4. cd到 /opt/android-studio/bin目录下,会有一个studio.sh的文件,执行

sudo ./studio.sh

即可运行AndroidStudio


5. 第一次运行需下载SDK, 如果下载速度过慢, 可使用如下镜像:


http://android-mirror.bugly.qq.com 端口:8080


6. 如果你是64为系统,运行过程中会碰到 unable to run mksdcard SDK tool:


Ubuntu与Android开发的邂逅


出现这个的原因是:64位Ubuntu需要安装32位的依赖包,执行如下命令即可


dpkg --add-architecture i386
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6


AndroidStudio中使用中文输入法


一切都搞定, 当你使用AS时, 发现没法输入中文!!!原因是AS运行是没有启用fcitx环境, 这该怎么解决呢? 很简单,我们需要将以下三行代码


export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"


添加到/bin/studio.sh中,如下图所示


Ubuntu与Android开发的邂逅


创建快捷方式


1. 在/usr/share/applications目录下新建AndroidStudio.desktop


sudo touch AndroidStudio.desktop


2. 打开AndroidStudio.desktop


sudo gedit AndroidStudio.desktop


3. 写入如下内容并保存


[Desktop Entry]
Name = AndroidStudio
Comment= AndroidStudio
Exec=/home/ide/android-studio/bin/studio.sh
Icon=/home/ide/android-studio/bin/studio.png
Terminal=falseType=Application


4. 按住Ctrl将图标拖动到左侧laucher


创建Android模拟器遇到的一些问题


1. 如果在创建模拟器的时候遇到NoSuchFileException (在Event Log 窗口中输入的日志)


NoSuchFileException: /home/xxx/.android/avd/Nexus_5_API_22.ini


将 /root/.android/avd 复制到 /home/xxx/.android/ 下即可(xxx 为的你用户名, 也就是家目录)


sudo cp /root/.android/avd /home/xxx/.android/


然后修改一下权限即可


sudo chmod -R 777 /home/xxx/.android


2. 当你遇到这种情况:


Note: avd is searched in the order of $ANDROID_AVD_HOME,$ANDROID_SDK_HOME/.android/avd and $HOME/.android/avd


首先解释一下这几个变量:


$ANDROID_AVD_HOME: 就是模拟器镜像的环境变量

$ANDROID_SDK_HOME: Android SDK的环境变量
$HOME: 家目录


那这个错误提示就很清楚了, AS创建模拟器先先搜寻$ANDROID_AVD_HOME目录下有没有.android/avd, 在搜寻$ANDROID_SDK_HOME目录下有没有.android/avd, 最后搜寻$HOME目录下有没有.android/avd


在这里我遇到的情况是: 第一次(装机以来的第一次)运行模拟器时, 可以成功启动. 可是几天之后再运行, 竟然启动不了了.


我首先查看了$HOME目录下.android/avd是存在的. 那为什么会启动不了呢? 是不是它的上一个优先级目录中存在了无效的.android/avd目录呢? 接着我去查看了$ANDROID_SDK_HOME目录, 果然在这个目录下有一个.android文件夹, 但是这个.android文件夹里面什么也没有, 是一个空文件夹.


既然是这样, 那我们就有两种解决方案:


  • 删除$ANDROID_SDK_HOME下的.android, 但这种方案不可靠, 谁知道AS会不会又抽风在此目录下再建立一个空的.android文件夹呢

  • 那我们就采用第二种方案, 给模拟器设置一个环境变量, 在/etc/profile中添加如下内容(记得把xxx替换成你自己的用户名)


export ANDROID_AVD_HOME=/home/xxx/.android/avd
export PATH=${ANDROID_AVD_HOME}:$PATH


然后在执行source /etc/profile是环境变量生效. (理论上这样就可以了, 但是我是在重启电脑之后才可以正常创建模拟器的)


Chrome浏览器安装


查看教程:http://www.linuxidc.com/Linux/2016-05/131096.htm


近期文章:






今日问题:

你准备换到Ubuntu嘛?



以上是关于Ubuntu与Android开发的邂逅的主要内容,如果未能解决你的问题,请参考以下文章

善用ADT Bundle,轻松邂逅女神

Node与apidoc的邂逅——NodeJS Restful 的API文档生成

面向协议编程与 Cocoa 的邂逅(下)

面向协议编程与 Cocoa 的邂逅 (上)

Android开发常用代码片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情