Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Unity自動打包工具——Mac上打包android

Unity自動打包工具——Mac上打包android

編輯:關於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 targets
android update project
ant release -buildfile $projdir/build.xml/
jarsigner
zipalign

寫完之後我直接調用這個腳本,正常生成了apk。然後在打包工具裡由C#調用它,竟然失敗了,錯誤信息是android/ant/zipalign “command not found”。這是什麼原因?前面不是已經在環境變量裡設置了嗎?百思不得其解,請教了一個linux高手,原來是需要在/usr/bin/目錄建立一個軟鏈接,比如

sudo ln -s -f /Users/macmini3/Library/Android/sdk/tools/android
sudo ln -s -f /Users/macmini3/Library/Android/sdk/build-tools/24.0.0/zipalign
sudo 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. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved