I have read this post: OBSOLETE - Providing Android resources in Assets/Plugins/Android/res is deprecated... - Unity Engine - Unity Discussions Didn’t help.
I have the latest version of Android Studio.
I have an Android Library for my Unity3D plugin.
I have to reference classes.jar in : C:\Program Files\Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin
My plugin class extends BroadcastReceiver.
Inside a method I call: Activity currentActivity = UnityPlayer.currentActivity;
My question is: how can I NOT include the referenced classes.jar in my “aar” file?
I’m using an “aar” file because this is recommended over a “.jar” file implementation. I was trying to use a “.jar” file but was unable to get any of my images in the /res folder to be added to the “.jar”
So I’m going with the recommended library approach. But now, I’m getting the below TOP-LEVEL-EXCEPTION.
I only have a single reference in the /libs folder. I’m 100% sure I’m not referencing it twice in my library.
What can I do?
Thank you so very much!
Karl
CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
C:\Program Files\Java\jdk1.8.0_45\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir=“C:/Users/mole/AppData/Local/Android/sdk\tools” -Dfile.encoding=UTF8 -jar “C:/Program Files/Unity/Editor/Data/BuildTargetTools/AndroidPlayer\sdktools.jar” -
stderr[
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/unity3d/player/a$1;
at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
at com.android.dx.command.dexer.Main.processClass(Main.java:732)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.command.dexer.Main.access$300(Main.java:83)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
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:497)
at SDKMain.main(SDKMain.java:129)
1 error; aborting
]
stdout[
processing archive bin\classes.jar…
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/a.class…
processing com/unity3d/player/b$1.class…
processing com/unity3d/player/b$2.class…
processing com/unity3d/player/b.class…
processing com/unity3d/player/c.class…
processing com/unity3d/player/d$1.class…
processing com/unity3d/player/d$2.class…
processing com/unity3d/player/d.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$1.class…
processing com/unity3d/player/j$2$1$1.class…
processing com/unity3d/player/j$2$1.class…
processing com/unity3d/player/j$2.class…
processing com/unity3d/player/j.class…
processing com/unity3d/player/k$1.class…
processing com/unity3d/player/k.class…
processing com/unity3d/player/l.class…
processing com/unity3d/player/m.class…
processing com/unity3d/player/n$1.class…
processing com/unity3d/player/n.class…
processing com/unity3d/player/NativeLoader.class…
processing com/unity3d/player/o.class…
processing com/unity3d/player/ReflectionHelper$1.class…
processing com/unity3d/player/ReflectionHelper$a.class…
processing com/unity3d/player/ReflectionHelper.class…
processing com/unity3d/player/p.class…
processing com/unity3d/player/q$1.class…
processing com/unity3d/player/q$2.class…
processing com/unity3d/player/q$3.class…
processing com/unity3d/player/q.class…
processing com/unity3d/player/r.class…
processing com/unity3d/player/s.class…
processing com/unity3d/player/UnityPlayer$1.class…
processing com/unity3d/player/UnityPlayer$2.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$10.class…
processing com/unity3d/player/UnityPlayer$11.class…
processing com/unity3d/player/UnityPlayer$12.class…
processing com/unity3d/player/UnityPlayer$13$1.class…
processing com/unity3d/player/UnityPlayer$13.class…
processing com/unity3d/player/UnityPlayer$3.class…
processing com/unity3d/player/UnityPlayer$14.class…
processing com/unity3d/player/UnityPlayer$15.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$a.class…
processing com/unity3d/player/UnityPlayer$b.class…
processing com/unity3d/player/UnityPlayer$c.class…
processing com/unity3d/player/UnityPlayer.class…
processing com/unity3d/player/UnityPlayerActivity.class…
processing com/unity3d/player/UnityPlayerNativeActivity.class…
processing com/unity3d/player/UnityPlayerProxyActivity.class…
processing com/unity3d/player/t.class…
processing com/unity3d/player/u$1.class…
processing com/unity3d/player/u.class…
processing com/unity3d/player/WWW.class…
processing org/fmod/FMODAudioDevice$a.class…
processing org/fmod/FMODAudioDevice.class…
processing org/fmod/a.class…
processing bin\classes.\com\karlshifflett\notificationHelpMe\R$attr.class…
processing bin\classes.\com\karlshifflett\notificationHelpMe\R$drawable.class…
processing bin\classes.\com\karlshifflett\notificationHelpMe\R$mipmap.class…
processing bin\classes.\com\karlshifflett\notificationHelpMe\R$string.class…
processing bin\classes.\com\karlshifflett\notificationHelpMe\R.class…
processing bin\classes.\com\karlshifflett\notificationlibrary\R$attr.class…
processing bin\classes.\com\karlshifflett\notificationlibrary\R$drawable.class…
processing bin\classes.\com\karlshifflett\notificationlibrary\R$mipmap.class…
processing bin\classes.\com\karlshifflett\notificationlibrary\R$string.class…
processing bin\classes.\com\karlshifflett\notificationlibrary\R.class…
processing archive C:\Unity3d\Logical Advantage\NotificationHell\Temp\StagingArea\android-libraries\notificationlibrary-debug\libs.\classes.jar…
processing com/unity3d/player/a$1.class…
processing archive C:\Unity3d\Logical Advantage\NotificationHell\Temp\StagingArea\android-libraries\notificationlibrary-debug\bin\classes.jar…
ignored resource META-INF/MANIFEST.MF
processing com/karlshifflett/notificationlibrary/BuildConfig.class…
processing com/karlshifflett/notificationlibrary/UnityNotificationManager.class…
]
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[ ] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[ ] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()