Unity自动打包工具——Mac上打包android
之前写过一篇Unity自动打包工具,偏重于讲述unity3d在Windows平台上打包wp和android。最近嫌在我电脑上打android包影响我的开发工作,就在mac上做了一下android打包。本来想着很简单的事情,但是最后折腾了我一天时间。因此记录一下,以作总结。
首先是安装开发环境java sdk/android sdk&ndk/ant/unity android support等。最近墙的很厉害,推荐在一个国内站点(http://android-studio.org/)安装android studio。装好之后启动android studio,点选Configure启动SDK Manager,然后在线装android sdk/ndk/build tools等。
装好之后,设置环境变量。打开/Users/YOUR_UASER_NAME/.bash_profile,如果没有创建。比如我的设置如下:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"export ANT_HOME="/Users/macmini3/Downloads/softwares/apache-ant-1.9.7"export ANDROID_SDK_HOME="/Users/macmini3/Library/Android/sdk"export ANDROID_NDK_ROOT="/Users/macmini3/Downloads/softwares/android/android-ndk-r10e"export CLASSPATH=".:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$ANT_HOME/lib"export PATH=".:$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$ANDROID_SDK_HOME/platform-tools:$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/build-tools/24.0.0:$ANDROID_NDK_ROOT"
保存之后执行生效,$source .bash_profile
然后再Unity->Preferences ->External tools设置sdk/jdk/ndk的路径。
然后写shell脚本,核心是对导出的android工程,调用下面几个命令,主要是用ant自动打包,然后签名、对齐等,最终生成apk
android list targetsandroid update projectant release -buildfile $projdir/build.xml/jarsignerzipalign
写完之后我直接调用这个脚本,正常生成了apk。然后在打包工具里由C#调用它,竟然失败了,错误信息是android/ant/zipalign “command not found”。这是什么原因?前面不是已经在环境变量里设置了吗?百思不得其解,请教了一个linux高手,原来是需要在/usr/bin/目录建立一个软链接,比如
sudo ln -s -f /Users/macmini3/Library/Android/sdk/tools/androidsudo ln -s -f /Users/macmini3/Library/Android/sdk/build-tools/24.0.0/zipalignsudo ln -s -f /Users/macmini3/Downloads/softwares/apache-ant-1.9.7/bin/ant
但是这样会提示“ln: Operation not permitted”。这是因为苹果在OS X 10.11中引入的SIP(System Integrity Protection)特性使得即使root权限也无法修改系统级的目录(也即rootless模式),所以需要关闭SIP。
重启,按着Command/Win+R,进入Recovery模式。然后在Utilities中选Terminal,执行#csrutil disable,重启就可以了。
现在终于可以愉快的一键出android包了!
相关链接:
1. Unity自动打包工具 http://blog.csdn.net/ynnmnm/article/details/36774715
更多相关文章
- android webview 软键盘覆盖 输入框的 问题
- android 的 Gallery 的简单使用
- Android(安卓)5.0使用android:onClick属性出现崩溃的原因及解决
- Android(安卓)按钮点击切换背景,同时修改文字颜色
- adb——Android的ADB工具使用
- Android那些疑惑(1)-Application中setTheme为什么不生效
- Android设置启动界面
- Android的selector背景选择器
- Android(安卓)NDK 从入门到精通(汇总篇)