自己编译ownCloud for Android

之前介绍过ownCloud私有云服务了,下面讲一下怎么自己编译它的Android客户端。之所以要自己编译,原因有两点:

  • ownCloud在Play Store上要收费的,0.99刀
  • ownCloud在Play Store上限制了区域,即使愿意出钱也不能下载

搭建一个Android SDK环境不要我说了吧?不会的自己找块Google这样的豆腐撞了……下面以Fedora 18 64位系统为例,讲一下我的过程。

先下载android-sdk-linux解压并设置好环境变量(Android官网都有说明,照着做就好了)。对于64位系统,需要安装32位的包,不然aapt这样的预编译好的程序会出错。还需要安装ant(ownCloud编译要求的)。

su -c 'yum install glibc.i686 zlib.i686 ant -y'

安装完毕后,设置JAVA的环境变量(因为我之前装过oracle的jdk,现在换成openjdk所以要手工改,并不知道系统安装openjdk的话,环境变量会不会自动设置,还是手动设置一下吧)。修改~/.bashrc添加几行如下:

export JAVA_HOME=/usr/lib/jvm/java-openjdk/
export JRE_HOME=$JAVA_HOME/jre

在终端下输入android打开Android SDK Manager,安装好Android 2.3.3、4.0、4.2.2的SDK Platform,那个tools里面的platform-tools也要安装。你知道该死的dl-ssl.google.com偶尔也被墙了的,所以在Options里面设置让它强制使用http而不是https,并且修改好系统的hosts(为保护可用的IP地址,点到为止)。更新完毕后,下面准备ownCloud的编译了。

git clone git://github.com/owncloud/android.git
cd android
./setup-env.sh
ant release

如果你的环境变量设置后没有重启让它生效,你需要先执行source ~/.bashrc加载一下,免得中间编译出错。等几分钟编译就好了,文件在bin文件夹下,名为“ownCloud-release-unsigned.apk”,还没有签名的,不能直接拖到手机/平板里安装(当然你可以adb push的办法直接push进去)。所以需要对apk进行签名。网上签名的教程很多,从生成密钥到签名,太麻烦了……就为了一个程序,而且又不是自己写的要去Play上发布,所以就直接down一个签名工具签名完事啦~

成品在此,需要下载的直接下载吧。(「中国标准时间」2013-03-17中午编译)

我的ownCloud演示站点下载   百度网盘分流

3 responses to “自己编译ownCloud for Android”

  1. thank you so much! avatar
    thank you so much!

    谢谢你,我是想买一个这个客户端,但没办法直接下载(PS:我的手机不支持google play),今天看到真好。但我仍想给作者10元钱,必竟别人写程序也很累。

  2. zeroten avatar

    openshift已经被墙了吧,就像你的这个站点,翻墙才能打开

    1. librehat avatar

      我绑定了域名了,你不要通过rhcloud那个域名访问我的博客就没事阿。
      完全不用翻墙就能访问的。这里的域名是:http://www.librehat.com