之前写过一篇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

更多相关文章

  1. android webview 软键盘覆盖 输入框的 问题
  2. android 的 Gallery 的简单使用
  3. Android(安卓)5.0使用android:onClick属性出现崩溃的原因及解决
  4. Android(安卓)按钮点击切换背景,同时修改文字颜色
  5. adb——Android的ADB工具使用
  6. Android那些疑惑(1)-Application中setTheme为什么不生效
  7. Android设置启动界面
  8. Android的selector背景选择器
  9. Android(安卓)NDK 从入门到精通(汇总篇)

随机推荐

  1. android 横向ListView Viewpager Gridvie
  2. Android--自定义带提示文本的EditText组
  3. Android(安卓)textview获取选中的内容
  4. android Activity 清空焦点
  5. Android学习笔记(27):日历视图Calendar
  6. Android 定时/倒计时工具 - 加强版 CountD
  7. eclipse上Android NDK开发环境搭建
  8. Android(安卓)获取年月日时分秒 格式化指
  9. Android 他人面试题总结
  10. android 城市列表