Ubuntu与Android开发的邂逅「终于解决」

Android (82) 2023-08-04 17:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Ubuntu与Android开发的邂逅「终于解决」,希望能够帮助你!!!。
Ubuntu与Android开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第1张

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

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

Ubuntu与Android开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第2张

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

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

Ubuntu与Android开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第3张

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

Ubuntu与Android开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第4张

点击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开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第5张

出现这个的原因是: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开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第6张

创建快捷方式

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

近期文章:

  • 回馈粉丝:金三银四面试潮,精心整理的资料!

  • 一个Handler面试题引发的血案!

  • 想换一个高薪工作,简历要做好

今日问题:

你准备换到Ubuntu嘛?

Ubuntu与Android开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第7张
Ubuntu与Android开发的邂逅「终于解决」_https://bianchenghao6.com/blog_Android_第8张

发表回复