编译ownCloud for Android
之前介绍过ownCloud私有云服务了,下面讲一下怎么自己编译它的Android客户端。之所以要自己编译,原因有两点:
- ownCloud在Play Store上要收费的,0.99刀
- ownCloud在Play Store上限制了区域,即使愿意出钱也不能下载
搭建一个Android SDK环境不要我说了吧?不会的自己找块Google这样的豆腐撞了……下面以XUbuntu 14.04 为例,讲一下我的过程。
首先是owncloud的源码下载
官网 https://owncloud.org/ 云存储器网址 https://demo.owncloud.org/ test test Android代码路径 https://github.com/owncloud/android https://github.com/owncloud/android-library https://github.com/JakeWharton/ActionBarSherlock 最新android-support-v4.jar http://download.csdn.net/detail/beyond_liyy/8771329
先下载android-sdk-linux解压并设置好环境变量(Android官网都有说明,照着做就好了)。对于64位系统,需要安装32位的包,不然aapt这样的预编译好的程序会出错。还需要安装ant(ownCloud编译要求的)。
安装完毕后,设置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
git clone git://github.com/owncloud/android-library.git
然后导入Android studio中
如果你的环境变量设置后没有重启让它生效,你需要先执行source ~/.bashrc加载一下,免得中间编译出错。等几分钟编译就好了,文件在bin文件夹下,名为“ownCloud-release-unsigned.apk”,还没有签名的,不能直接拖到手机/平板里安装(当然你可以adb push的办法直接push进去)。所以需要对apk进行签名。网上签名的教程很多,从生成密钥到签名,太麻烦了……就为了一个程序,而且又不是自己写的要去Play上发布,所以就直接down一个签名工具签名完事啦~
下载对应的 signapk.jar platform.x509.pem platform.pk8
java -jar $toolDir/signapk.jar $toolDir/platform.x509.pem $toolDir/platform.pk8 no-sign.apk des-sign.apk
成品APK在此,需要下载的直接下载吧。(「中国标准时间」2018-03-02中午编译)