2017-06-11 74 views
0

我正在尝试使用Unity 5.6和Google Cardboard构建我的VR项目。我收到以下错误使用Google Cardboard构建.apk存档时出错VR

CommandInvokationFailure: Unable to convert classes into dex format. 
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir="/Users/mymac/Library/Android/sdk/tools" -Dfile.encoding=UTF8 -jar "/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar" - 

stderr[ 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/DisplaySynchronizer; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/FrameMonitor; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/NFCUtils; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/NFCUtils$1; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/TransitionView; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/TransitionView$1; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/TransitionView$2; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/TransitionView$3; 
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/vr/cardboard/TransitionView$TransitionListener; 

UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.RuntimeException: Translation has been interrupted 
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:613) 
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) 
    at com.android.dx.command.dexer.Main.run(Main.java:277) 
    at com.android.dx.command.dexer.Main.main(Main.java:245) 
    at com.android.dx.command.Main.main(Main.java:106) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at SDKMain.main(SDKMain.java:129) 
Caused by: java.lang.InterruptedException: Too many errors 
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:605) 
    ... 9 more 
] 
stdout[ 
processing archive /Users/mymac/Desktop/project/Temp/StagingArea/android-libraries/gvr-permissionsupport-release/libs/./classes.jar... 
processing com/google/gvr/permissionsupport/BuildConfig.class... 
processing com/google/gvr/permissionsupport/PermissionsFragment.class... 
processing com/google/gvr/permissionsupport/PermissionsFragment$1.class... 
processing com/google/gvr/permissionsupport/PermissionsFragment$PermissionsCallback.class... 
processing com/google/gvr/permissionsupport/TransitionVRActivity.class... 
processing com/google/gvr/permissionsupport/TransitionVRActivity$1.class... 
ignored resource mymac/Temp/StagingArea/android-libraries/gvr/libs/./armeabi-v7a/libgvr.so 
processing archive 

环顾四周,我发现,这可能是一个.jar/.aar文件重复错误,所以我在我的项目寻找他们:

mymac$ find . | grep .aar 
./Assets/Plugins/Android/gvr-permissionsupport-release.aar 
./Assets/Plugins/Android/gvr-permissionsupport-release.aar.meta 
./Temp/StagingArea/aar 
./Temp/StagingArea/aar/gvr-permissionsupport-release.aar 
./Temp/StagingArea/aar/gvr.aar 
./Temp/StagingArea/aar/unitygvr.aar 

mymac$ find . | grep .jar 
./Assets/Plugins/Android/unityvractivity.jar 
./Assets/Plugins/Android/unityvractivity.jar.meta 
./Temp/StagingArea/android-libraries/gvr/libs/classes.jar 
./Temp/StagingArea/android-libraries/gvr-permissionsupport-release/libs/classes.jar 
./Temp/StagingArea/android-libraries/unitygvr/libs/classes.jar 
./Temp/StagingArea/bin/classes.jar 
./Temp/StagingArea/plugins/libprotobuf-java-nano.jar 
./Temp/StagingArea/plugins/unityvractivity.jar 

广告您可以看到没有任何重复,因为所有其他文件都是在构建时在/ Temp中创建的。不知道如何继续。

+0

你可以建立空项目到Android?测试并让我们知道结果。 – Programmer

+0

是的,如果我删除VR支持(取消选中“虚拟现实支持”标志)项目生成没有问题 – Claus

+0

有趣。试试[this](https://stackoverflow.com/questions/37313735/unable-to-list-target-platforms-please-make-sure-the-android-sdk-path-is-correc/37314122#37314122) – Programmer

回答

1

修复从项目中删除GoogleVR插件。不知何故,即使没有在bash控制台上显示,也有重复。