上一篇中在Ubuntu14.0.4下编译了Mapbox(http://www.linuxdiyf.com/linux/26637.html),但是这种编译方式要在终端中输入命令,虽然在Android Studio中也提供了一个终端入口方便输入,然后比如在Android Studio中直接编译还是慢了不少,不如像在Windows下那样直接写完代码,然后点击几下,就能编译了。这两天尝试在Android Studio下进行编译Mapbox,终于成功了,在这里记录一下遇到的问题。
1.最重要的问题是权限问题,虽然Windows也有权限问题,但是这个问题在ubuntu上尤其明显。
现在要做的是首先把Android SDK,Android Studio,以及Mapbox git clone源代码所在文件夹的权限一律设置为777,我是这样设置的,一了百了,大家也可以尝试一下其它的权限。
2.打开Ubuntu下Android Studio(可以搞一个.desktop桌面快捷方式,不用每次都进入AS中的bin文件夹执行 studio.sh,具体方法如下:建立一个.desktop的文件,填充内容如下:
[Desktop Entry]
Encoding=UTF-8
Name=AS
Comment=android studio
Exec=/home/y/mobile/ides/android-studio/bin/studio.sh
Icon=/home/y/mobile/ides/android-studio/bin/studio.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;
然后让其属性权限为可执行文件)
3.打开Android Studio 导入mapbox源代码中的platform/android文件夹下的build.gradle文件,等待,第一次打开可能会有些慢慢,视机器配置而定。如果一直显示build running,看4条注意事项。
4.因为Android Studio gradle build running很慢慢,我的电脑是这样,我笔记本配置是i3 2330,4个G内存,有时候慢的让人无法忍受,如果强制关掉它吧,再打开的时候有时会出现一些莫名其妙的错误,所以要解决 build过慢的问题,google会出现很多答案,其中对我有效的几条是:
* ubuntu下在home/y/.gradle下建立文件gradle.properties,里面加上这么两句话:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx3072M
* 打开AS,File-setting-gradle-勾上offline work
5.最后连接手机 尝试运行,成功,如果有报错,看一下具体的错,大部分都是没有一些文件夹的权限,根据提示的错误,可以很轻松的解决。