2013-10-18 53 views
2

整蛊小问题Facebook的统一SDK的Android barfs。 FB插件测试项目工作正常,我的项目给了我下面的错误。原来,当我连接FB测试项目资产服务器,.META文件已经为每个文件夹中创建的同时,也会BARF。任何告诉编译器跳过.meta文件的方法?当项目连接到服务器的资产

Error building Player: CommandInvokationFailure: Failed to re-package resources. See the  Console for details. 
/Users/me/android-sdk-macosx/platform-tools/aapt package --auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S "res" -I "/Users/me/android-sdk- macosx/platforms/android-17/android.jar" -F bin/resources.ap_ --extra-packages com.facebook.android -S "/Users/me/Unity/FBTest/Assets/Plugins/Android/facebook/res" 

stderr[ 
invalid resource directory name: /Users/me/Unity/FBTest/Assets/Plugins/Android/facebook/res/drawable-hdpi.meta 
invalid resource directory name: /Users/me/Unity/FBTest/Assets/Plugins/Android/facebook/res/drawable-ldpi.meta 
invalid resource directory name: /Users/me/Unity/FBTest/Assets/Plugins/Android/facebook/res/drawable-mdpi.meta 

更新:似乎无法摆脱.META文件,即使我从资产服务器:(任何想法断开

UPDATE:不得不去编辑 - >项目设置 - >编辑器和禁用版本控制得到这个编译。将是很好,如果这可以被固定,从而元文件在APK的packageing被忽略......

回答

0

可能也标志着这个作为回答。增加了对.META文件资产服务器正在打破Android的包装,所以解决办法是禁用编辑在源代码控制 - >项目设置 - >做一个构建之前编辑器是很好,如果这是固定让一步是多余的,但...

UPDATE:

庵,重新连接到资产服务器使得它觉得一切都在本地发生了变化,所以这是一个非常,非常苏茨基解决方法

+0

删除'.meta'文件是从来没有AFAIK一种选择,在任何circustances。整个场景会搞砸了! –

-1

另一种变通方法,似乎工作是在开始构建后,但在统一开始打包过程之前,从res文件夹中删除所有.meta文件。 Unity在构建项目时不会重新创建元文件。这样您就不必禁用并重新启用版本控制。

0

发现一个笨解决方法,因为我有完全相同的问题,只在OSX上测试,因为它依赖于经由hashbang行执行一个Python脚本。

  1. 去找哪里AAPT是在你的Android SDK(例如Android的SDK-的MacOSX /构建工具/ 17.0.0/AAPT)的路径,并改名为aapt.real
  2. 建立一个新的文件名为AAPT,并把下面的变量:

    #!/usr/bin/env python 
    
    import os 
    import sys 
    
    os.execv(os.path.join(os.path.split(__file__)[0], 'aapt.real'), ['aapt'] + sys.argv[1:] + ['--ignore-assets', '!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!*.meta']) 
    
  3. 奇迹为什么团结不包括 - 忽略资产选项来解决这个问题。
0

我增加了行

<property name="aapt.ignore.assets" value="!*.meta:!.svn:!.git:.*:&lt;dir&gt;_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~" /> 

facebook的Android的SDK统一的build.xml文件。无需修补android sdk。