Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Unable to convert classes into dex format

Discussion in 'Android' started by timtre, Apr 14, 2016.

  1. timtre

    timtre

    Joined:
    Sep 6, 2013
    Posts:
    6
    Hi, I have seen this before but either I don't understand the solutions or they're not working for me. What I am trying to do is use two plugins, google cardboard and android microcontroller bluetooth. Everything is fine except something is duplicating when I have the BluetoothController.jar file. For more details, see my log below. I am not finding any duplicate jar files, the jar file giving issues consists of a file called bridge.class and a.class untill j.class. I read something about importing libraries multiple times. Opening the classes in a java decompiler tells me for example that import com.unity3d.player.UnityPlayer; happens in both the bluetooth jar, as well as in the cardboard audio jar. Is this the issue? (although deleting the cardboard audio jar doesn't fix the error) Anyways, kind of a noob here, help is much appreciated!


    CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
    C:\Program Files\Java\jdk1.7.0_75\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/s125668/AppData/Local/Android/android-sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

    stderr[
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/badran/bluetoothcontroller/Bridge;
    1 error; aborting
    ]
    stdout[
    processing archive E:\Documents\Projecten TUe\In-Transportation-Interaction\UnityArduino\New Unity Project\Temp\StagingArea\android-libraries\cardboard_android_common\bin\classes.jar...
    ignored resource META-INF/
    ignored resource META-INF/MANIFEST.MF
    ignored resource com/
    ignored resource com/google/
    ignored resource com/google/protobuf/
    ignored resource com/google/protobuf/nano/
    processing com/google/protobuf/nano/CodedInputByteBufferNano.class...
    processing com/google/protobuf/nano/CodedOutputByteBufferNano.class...
    processing com/google/protobuf/nano/CodedOutputByteBufferNano$OutOfSpaceException.class...
    processing com/google/protobuf/nano/ExtendableMessageNano.class...
    processing com/google/protobuf/nano/Extension.class...
    processing com/google/protobuf/nano/Extension$1.class...
    processing com/google/protobuf/nano/Extension$PrimitiveExtension.class...
    processing com/google/protobuf/nano/FieldArray.class...
    processing com/google/protobuf/nano/FieldData.class...
    processing com/google/protobuf/nano/InternalNano.class...
    processing com/google/protobuf/nano/InvalidProtocolBufferNanoException.class...
    processing com/google/protobuf/nano/MessageNano.class...
    processing com/google/protobuf/nano/MessageNanoPrinter.class...
    processing com/google/protobuf/nano/UnknownFieldData.class...
    processing com/google/protobuf/nano/WireFormatNano.class...
    ignored resource com/google/vr/
    ignored resource com/google/vr/cardboard/
    processing com/google/vr/cardboard/CardboardGLSurfaceView.class...
    processing com/google/vr/cardboard/CardboardGLSurfaceView$DetachListener.class...
    processing com/google/vr/cardboard/ConfigUtils.class...
    processing com/google/vr/cardboard/ContentProviderVrParamsProvider.class...
    processing com/google/vr/cardboard/DisplaySynchronizer.class...
    processing com/google/vr/cardboard/DisplayUtils.class...
    processing com/google/vr/cardboard/FrameMonitor.class...
    processing com/google/vr/cardboard/FullscreenMode.class...
    processing com/google/vr/cardboard/FullscreenMode$1.class...
    processing com/google/vr/cardboard/FullscreenMode$1$1.class...
    processing com/google/vr/cardboard/GLTextureView.class...
    processing com/google/vr/cardboard/GLTextureView$1.class...
    processing com/google/vr/cardboard/GLTextureView$BaseConfigChooser.class...
    processing com/google/vr/cardboard/GLTextureView$ComponentSizeChooser.class...
    processing com/google/vr/cardboard/GLTextureView$DefaultContextFactory.class...
    processing com/google/vr/cardboard/GLTextureView$DefaultWindowSurfaceFactory.class...
    processing com/google/vr/cardboard/GLTextureView$EglHelper.class...
    processing com/google/vr/cardboard/GLTextureView$GLThread.class...
    processing com/google/vr/cardboard/GLTextureView$GLThreadManager.class...
    processing com/google/vr/cardboard/GLTextureView$LogWriter.class...
    processing com/google/vr/cardboard/GLTextureView$SimpleEGLConfigChooser.class...
    processing com/google/vr/cardboard/GLTextureView$TraceCompat.class...
    processing com/google/vr/cardboard/LegacyVrParamsProvider.class...
    processing com/google/vr/cardboard/NFCUtils.class...
    processing com/google/vr/cardboard/NFCUtils$1.class...
    processing com/google/vr/cardboard/PermissionUtils.class...
    processing com/google/vr/cardboard/PhoneParams.class...
    processing com/google/vr/cardboard/PhoneParams$PpiOverride.class...
    processing com/google/vr/cardboard/Strings.class...
    processing com/google/vr/cardboard/ThreadUtils.class...
    processing com/google/vr/cardboard/TransitionView.class...
    processing com/google/vr/cardboard/TransitionView$1.class...
    processing com/google/vr/cardboard/TransitionView$2.class...
    processing com/google/vr/cardboard/TransitionView$3.class...
    processing com/google/vr/cardboard/TransitionView$4.class...
    processing com/google/vr/cardboard/TransitionView$5.class...
    processing com/google/vr/cardboard/TransitionView$TransitionListener.class...
    processing com/google/vr/cardboard/UiLayer.class...
    processing com/google/vr/cardboard/UiLayer$1.class...
    processing com/google/vr/cardboard/UiLayer$10.class...
    processing com/google/vr/cardboard/UiLayer$11.class...
    processing com/google/vr/cardboard/UiLayer$12.class...
    processing com/google/vr/cardboard/UiLayer$2.class...
    processing com/google/vr/cardboard/UiLayer$3.class...
    processing com/google/vr/cardboard/UiLayer$4.class...
    processing com/google/vr/cardboard/UiLayer$5.class...
    processing com/google/vr/cardboard/UiLayer$6.class...
    processing com/google/vr/cardboard/UiLayer$7.class...
    processing com/google/vr/cardboard/UiLayer$8.class...
    processing com/google/vr/cardboard/UiLayer$9.class...
    processing com/google/vr/cardboard/UiUtils.class...
    processing com/google/vr/cardboard/UiUtils$ConfigureSettingsDialogFragment.class...
    processing com/google/vr/cardboard/UiUtils$ConfigureSettingsDialogFragment$1.class...
    processing com/google/vr/cardboard/UiUtils$ImmersiveDialogFragment.class...
    processing com/google/vr/cardboard/UiUtils$InstallSettingsDialogFragment.class...
    processing com/google/vr/cardboard/UiUtils$InstallSettingsDialogFragment$1.class...
    processing com/google/vr/cardboard/UsedByNative.class...
    processing com/google/vr/cardboard/VrParamsProvider.class...
    processing com/google/vr/cardboard/VrParamsProviderFactory.class...
    processing com/google/vr/cardboard/VrParamsProviderJni.class...
    processing com/google/vr/cardboard/VrSettingsProviderContract.class...
    ignored resource com/google/vr/cardboard/api/
    processing com/google/vr/cardboard/api/CardboardApi.class...
    processing com/google/vr/cardboard/api/CardboardApi$BoolParameterId.class...
    processing com/google/vr/cardboard/api/CardboardLayout.class...
    processing com/google/vr/cardboard/api/CardboardLayout$PresentationFactory.class...
    processing com/google/vr/cardboard/api/CardboardLayout$PresentationHelper.class...
    processing com/google/vr/cardboard/api/CardboardLayout$PresentationListener.class...
    processing com/google/vr/cardboard/api/RenderTextureParams.class...
    processing com/google/vr/cardboard/api/RenderTextureParamsList.class...
    processing com/google/vr/cardboard/api/SerializationConstants.class...
    ignored resource com/google/vr/cardboard/api/proto/
    ignored resource com/google/vr/cardboard/api/proto/nano/
    processing com/google/vr/cardboard/api/proto/nano/CardboardApiData.class...
    processing com/google/vr/cardboard/api/proto/nano/CardboardApiData$RenderTextureParamsListData.class...
    processing com/google/vr/cardboard/api/proto/nano/CardboardApiData$RenderTextureParamsListData$RenderTextureParamsData.class...
    ignored resource com/google/vrtoolkit/
    ignored resource com/google/vrtoolkit/cardboard/
    processing com/google/vrtoolkit/cardboard/ScreenOnFlagHelper.class...
    processing com/google/vrtoolkit/cardboard/SensorReadingStats.class...
    ignored resource com/google/vrtoolkit/cardboard/proto/
    ignored resource com/google/vrtoolkit/cardboard/proto/nano/
    processing com/google/vrtoolkit/cardboard/proto/nano/CardboardDevice.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/CardboardDevice$CardboardInternalParams.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/CardboardDevice$CardboardInternalParams$OrientationType.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/CardboardDevice$DeviceParams.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/CardboardDevice$DeviceParams$ButtonType.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/CardboardDevice$DeviceParams$VerticalAlignmentType.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/Phone.class...
    processing com/google/vrtoolkit/cardboard/proto/nano/Phone$PhoneParams.class...
    processing archive E:\Documents\Projecten TUe\In-Transportation-Interaction\UnityArduino\New Unity Project\Temp\StagingArea\android-libraries\unityvractivity\bin\classes.jar...
    ignored resource com/google/unity/
    processing com/google/unity/GoogleUnityActivity.class...
    processing com/google/unity/GoogleUnityActivity$1.class...
    processing com/google/unity/GoogleUnityActivity$2.class...
    processing com/google/unity/GoogleUnityActivity$3.class...
    processing com/google/unity/GoogleUnityActivity$4.class...
    processing com/google/unity/GoogleUnityActivity$AndroidLifecycleListener.class...
    ignored resource com/google/vr/platform/
    ignored resource com/google/vr/platform/unity/
    processing com/google/vr/platform/unity/UnityVrActivityListener.class...
    processing com/google/vr/platform/unity/UnityVrActivityListener$1.class...
    processing com/google/vr/platform/unity/UnityVrActivityListener$2.class...
    processing com/google/vr/platform/unity/UnityVrActivityListener$3.class...
    processing com/google/vr/platform/unity/UnityVrActivityListener$4.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$attr.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$color.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$dimen.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$drawable.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$id.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$layout.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$string.class...
    processing bin\classes\.\com\example\CardboardUnityDemo\R$style.class...
    processing bin\classes\.\com\google\vr\cardboard\R.class...
    processing bin\classes\.\com\google\vr\cardboard\R$attr.class...
    processing bin\classes\.\com\google\vr\cardboard\R$color.class...
    processing bin\classes\.\com\google\vr\cardboard\R$dimen.class...
    processing bin\classes\.\com\google\vr\cardboard\R$drawable.class...
    processing bin\classes\.\com\google\vr\cardboard\R$id.class...
    processing bin\classes\.\com\google\vr\cardboard\R$layout.class...
    processing bin\classes\.\com\google\vr\cardboard\R$string.class...
    processing bin\classes\.\com\google\vr\cardboard\R$style.class...
    processing bin\classes\.\vr\gvr\platform\unity\R.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$attr.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$color.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$dimen.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$drawable.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$id.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$layout.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$string.class...
    processing bin\classes\.\vr\gvr\platform\unity\R$style.class...
    processing archive bin\classes.jar...
    processing bitter/jnibridge/JNIBridge.class...
    processing bitter/jnibridge/JNIBridge$a.class...
    processing com/unity3d/player/NativeLoader.class...
    processing com/unity3d/player/ReflectionHelper.class...
    processing com/unity3d/player/ReflectionHelper$1.class...
    processing com/unity3d/player/ReflectionHelper$a.class...
    processing com/unity3d/player/UnityPlayer.class...
    processing com/unity3d/player/UnityPlayer$1.class...
    processing com/unity3d/player/UnityPlayer$10.class...
    processing com/unity3d/player/UnityPlayer$11.class...
    processing com/unity3d/player/UnityPlayer$12.class...
    processing com/unity3d/player/UnityPlayer$13.class...
    processing com/unity3d/player/UnityPlayer$14.class...
    processing com/unity3d/player/UnityPlayer$15.class...
    processing com/unity3d/player/UnityPlayer$15$1.class...
    processing com/unity3d/player/UnityPlayer$16.class...
    processing com/unity3d/player/UnityPlayer$17.class...
    processing com/unity3d/player/UnityPlayer$18.class...
    processing com/unity3d/player/UnityPlayer$19.class...
    processing com/unity3d/player/UnityPlayer$2.class...
    processing com/unity3d/player/UnityPlayer$20.class...
    processing com/unity3d/player/UnityPlayer$3.class...
    processing com/unity3d/player/UnityPlayer$4.class...
    processing com/unity3d/player/UnityPlayer$5.class...
    processing com/unity3d/player/UnityPlayer$6.class...
    processing com/unity3d/player/UnityPlayer$7.class...
    processing com/unity3d/player/UnityPlayer$8.class...
    processing com/unity3d/player/UnityPlayer$9.class...
    processing com/unity3d/player/UnityPlayer$a.class...
    processing com/unity3d/player/UnityPlayer$b.class...
    processing com/unity3d/player/UnityPlayer$c.class...
    processing com/unity3d/player/UnityPlayerActivity.class...
    processing com/unity3d/player/UnityPlayerNativeActivity.class...
    processing com/unity3d/player/UnityPlayerProxyActivity.class...
    processing com/unity3d/player/UnityWebRequest.class...
    processing com/unity3d/player/WWW.class...
    processing com/unity3d/player/a.class...
    processing com/unity3d/player/a$1.class...
    processing com/unity3d/player/a$2.class...
    processing com/unity3d/player/a$a.class...
    processing com/unity3d/player/b.class...
    processing com/unity3d/player/b$1.class...
    processing com/unity3d/player/b$2.class...
    processing com/unity3d/player/c.class...
    processing com/unity3d/player/d.class...
    processing com/unity3d/player/d$1.class...
    processing com/unity3d/player/d$2.class...
    processing com/unity3d/player/e.class...
    processing com/unity3d/player/f.class...
    processing com/unity3d/player/g.class...
    processing com/unity3d/player/h.class...
    processing com/unity3d/player/i.class...
    processing com/unity3d/player/j.class...
    processing com/unity3d/player/k.class...
    processing com/unity3d/player/k$1.class...
    processing com/unity3d/player/k$2.class...
    processing com/unity3d/player/k$2$1.class...
    processing com/unity3d/player/k$2$1$1.class...
    processing com/unity3d/player/l.class...
    processing com/unity3d/player/l$1.class...
    processing com/unity3d/player/m.class...
    processing com/unity3d/player/n.class...
    processing com/unity3d/player/n$1.class...
    processing com/unity3d/player/o.class...
    processing com/unity3d/player/p.class...
    processing com/unity3d/player/p$1.class...
    processing com/unity3d/player/q.class...
    processing com/unity3d/player/r.class...
    processing com/unity3d/player/s.class...
    processing com/unity3d/player/s$1.class...
    processing com/unity3d/player/s$2.class...
    processing com/unity3d/player/s$3.class...
    processing com/unity3d/player/t.class...
    processing com/unity3d/player/u.class...
    processing com/unity3d/player/v.class...
    processing com/unity3d/player/w.class...
    processing com/unity3d/player/w$1.class...
    processing org/fmod/FMODAudioDevice.class...
    processing org/fmod/a.class...
    processing archive plugins\.\bluetoothcontroller.jar...
    ignored resource META-INF/MANIFEST.MF
    processing com/badran/bluetoothcontroller/Bridge.class...
    processing com/badran/bluetoothcontroller/a.class...
    processing com/badran/bluetoothcontroller/b.class...
    processing com/badran/bluetoothcontroller/c.class...
    processing com/badran/bluetoothcontroller/d.class...
    processing com/badran/bluetoothcontroller/e.class...
    processing com/badran/bluetoothcontroller/f.class...
    processing com/badran/bluetoothcontroller/g.class...
    processing com/badran/bluetoothcontroller/h.class...
    processing com/badran/bluetoothcontroller/i.class...
    processing com/badran/bluetoothcontroller/j.class...
    processing archive plugins\.\cardboard_audio.jar...
    ignored resource META-INF/
    ignored resource META-INF/MANIFEST.MF
    ignored resource com/
    ignored resource com/google/
    ignored resource com/google/vr/
    ignored resource com/google/vr/audio/
    ignored resource com/google/vr/audio/unity/
    processing com/google/vr/audio/unity/CardboardAudio.class...
    processing archive plugins\.\classes.jar...
    ignored resource META-INF/
    ignored resource META-INF/MANIFEST.MF
    ignored resource com/
    ignored resource com/badran/
    ignored resource com/badran/bluetoothcontroller/
    processing com/badran/bluetoothcontroller/BluetoothConnection.class...
    processing com/badran/bluetoothcontroller/BluetoothConnection$ConnectionMode.class...
    processing com/badran/bluetoothcontroller/BluetoothConnection$ReadingMode.class...
    processing com/badran/bluetoothcontroller/BluetoothDevicePicker.class...
    processing com/badran/bluetoothc<message truncated>
     
  2. liortal

    liortal

    Joined:
    Oct 17, 2012
    Posts:
    3,559
    This issue usually occurs when your project includes the same Java class multiple times (more than once).

    The Android build process basically takes all the compiled java code and packs it into a single binary file. In case your project includes the same compiled class more than once, it fails.

    This happens often when people include the same .jar or .aar library more than once in the project.

    NOTE: both .jar and .aar files are compressed file formats that may include other libraries inside them. For example - your BluetoothController.jar may have embedded other libraries into it, so it's not always the simple case of looking for 2 .jar files with the same name.

    The problem with Unity's error message in the console is that it's truncated and you can't see its end (which is the most interesting part). To get the complete message, you should run a build and then open the editor log:
    upload_2016-4-14_19-32-10.png

    In this log file, you'll find the complete message. You can paste it here, then it'll be easier to see what's the exact issue.

    (In the full error message, at the end you'll be able to see which classes are included multiple times, this will aid in finding the root cause of your issue).
     
    roger-wang and jasonMcintosh like this.
  3. jasonMcintosh

    jasonMcintosh

    Joined:
    Jul 4, 2012
    Posts:
    74
    I ran into this because I imported an Amazon Web Services SDK and the Facebook SDK, and apparently both provided a different version of the same Android support library. When I deleted the older one from the Plugins/Android/ folder, the build succeeded.
     
  4. timtre

    timtre

    Joined:
    Sep 6, 2013
    Posts:
    6
    I understand that, didnt find anything double, hence my confusion. Turns out the installation instructions were not very clear, but got a quick response from the developer of the bluetooth plugin, error gone :)

    So.. next error!

    Assets/Cardboard/DemoScene/testend.cs(25,13): error CS0103: The name `BtConnector' does not exist in the current context

    I make a simple script but it doesnt find the library I think? Probably a dumb rookie mistake somewhere, any idea what I may have done wrong?
    https://www.dropbox.com/s/d7jn6j8o0e8m11r/1.jpg?dl=0
    https://www.dropbox.com/s/novl1wfwjivhyeb/2.jpg?dl=0
     
  5. liortal

    liortal

    Joined:
    Oct 17, 2012
    Posts:
    3,559
    There are too many errors. it's hard to tell without looking at the code
     
  6. jasonMcintosh

    jasonMcintosh

    Joined:
    Jul 4, 2012
    Posts:
    74
    "The name `BtConnector' does not exist in the current context"

    It usually means you forgot to import the namespace containing that class.
     
  7. roger-wang

    roger-wang

    Joined:
    Jun 8, 2013
    Posts:
    11

    very useful, when i update 2017.2 f3, the Vuforia.jar double .
    thank you very much.