我正在尝试使用Unity 5.6和Google Cardboard构建我的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
ad你可以看到没有重复,因为所有其他文件都是在构建时在/ Temp中创建的。不确定如何继续。
答案 0 :(得分:2)
修复了从项目中删除GoogleVR插件的问题。不知怎的,即使bash控制台没有显示,也存在重复。