程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Mac下發布Unity3d中Android平台下出現“android (invokation failed)”的錯誤

Mac下發布Unity3d中Android平台下出現“android (invokation failed)”的錯誤

編輯:C#入門知識

 昨天想要給Murphy同學編譯一個Andorid版本的工程,但我本機沒有Android SDK,於是安裝了Murphy發給我的安裝包,並升級設置,結果在發布的最後出現了如下錯誤:

Error building Player: Exception: android (invokation failed)
ERROR: unknown error
cmd:android list target -c
stdout;
stderr:
Exception in thread "main" java.lang.NullPointerException at SDKMain.main(SDKMain.java:62)

      一時不知道為何,以為當前系統的jre不符合要求,於是去下載了最新的jre安裝,依然不可以,後來去unity的論壇搜到了很多遇到該情況的帖子,按照其中一篇的方法最終解決了問題。原文地址:http://forum.unity3d.com/threads/176737-unknown-error-when-building-simple-scene。

  大體意思是說:

  從Android SDK r22開始,基於現有的“platform-tools”組件,又增加了一個新的編譯工具SDK組件,以此來降低編譯工具和IDE之間的版本耦合性,這樣一來,以後升級SDK,就不需要IDE跟著一起升級。詳見官方說明:http://developer.android.com/tools/sdk/tools-notes.html。

  如果你同時擁有r21和r22,那麼可以發現“platform_tools”目錄下內容的區別:

   Android r21 platform-tools content:

   aapt.exe
   adb.exe
   AdbWinApi.dll
   AdbWinUsbApi.dll
   aidl.exe
   api
   dexdump.exe
   dx.bat
   fastboot.exe
   lib
   llvm-rs-cc.exe
   NOTICE.txt
   renderscript
   source.properties

     Android r22 platform-tools content:

   adb.exe
    AdbWinApi.dll
   AdbWinUsbApi.dll
   api
   fastboot.exe
   NOTICE.txt
   source.properties

  所以正是因為目錄結構的和系統的改變,影響了當前Unity版本編譯處理,當然了,也許改變還不止這些,所以當前最簡單的解決辦法有兩個:

  1:重新安裝r21版本;

  2:如果你堅持想用當前的r22版本,那麼

  copy:

  $(android-sdk)/build-tools/17.0.0/            <-- 這個目錄的內容是api17的編譯工具

  to:

  $(android-sdk)/platform-tools/

  方法2不是最好的和徹底的解決辦法,但經本人試驗,確實可行。

  That's all.

  希望以上能有所幫助,同時感謝親愛的Murphy同學的幫助。

  本文轉載自:http://www.th7.cn/Program/Android/201305/138526.shtml

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved