找回密码
 立即注册
Qt开源社区 门户 查看内容

Ubuntu与Android开发的邂逅

2019-3-17 05:57| 发布者: admin| 查看: 691| 评论: 0

摘要: 作者:CavalryLin博客:https://www.jianshu.com/p/d3e144d29708回想楼主当初刚使用Ubuntu时,那叫个两眼一抹黑, 连个解压命令都不会,安装个中文输入法都得折腾好几个小时。。。现在写这篇文章,是希望给第一次使 ...


作者:CavalryLin

博客: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. 启用搜狗输入法

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




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

5. 点击屏幕右上角的小键盘, 在弹出的菜单中点击“配置”, 打开如下界面



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



点击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出现如下界面则表示运行配置成功

javaversion "1.8.0_112"
Java(TM) SERuntimeEnvironment (build 1.8.0_05-b05)
JavaHotSpot(TM) ServerVM (build 23.1-b03, mixedmode)


说一些题外话,关于环境变量的配置, 当初第一次使用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:




出现这个的原因是: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中,如下图所示





创建快捷方式

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

sudotouchAndroidStudio.desktop

2. 打开AndroidStudio.desktop

sudogeditAndroidStudio.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嘛?










----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:码个蛋,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了