AIR SDK 17 and ANE problems when packaging app for Android
Hi,
I've been facing an issue when trying packaging my application using AIR SDK 17. The error details is below, I have also tried using AIR SDK 15, and AIR SDK 16, but I still get the same error.
Error occurred while packaging the application:
dx tool failed:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v7/appcompat/R$anim;
at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
at com.android.dx.command.dexer.Main.processClass(Main.java:301)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:278)
at com.android.dx.command.dexer.Main.access$100(Main.java:56)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
at com.android.dx.command.dexer.Main.processOne(Main.java:247)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
at com.android.dx.command.dexer.Main.run(Main.java:139)
at com.android.dx.command.dexer.Main.main(Main.java:120)
at com.android.dx.command.Main.main(Main.java:89)
1 error; aborting
However, when I change to use < AIR SDK 14, the packaging works just fine. I have also google around this issue, and the reason is duplicate library android-support-v7-appcompat.jar in the ANE. It doesn't make sense to me when I only have 1 ANE in use in my project.
So I tried removing the library android-support-v7-appcompat.jar in the ANE file and repackaging the ANE, now it shows a different error as below screenshot. It looks like android.support.v7.mediarouter relying on android.support.v7.appcompat, so removing android-support-v7-appcompat.jar is not solving the problem.

This is my android-platform.xml
<?xml version="1.0"?>
<platform xmlns="http://ns.adobe.com/air/extension/4.0">
<packagedDependencies>
<packagedDependency>android-support-v4.jar</packagedDependency>
<packagedDependency>google-play-services.jar</packagedDependency>
<packagedDependency>android-support-v7-appcompat.jar</packagedDependency>
<packagedDependency>android-support-v7-mediarouter.jar</packagedDependency>
<packagedDependency>clink210.jar</packagedDependency>
</packagedDependencies>
<packagedResources>
<packagedResource>
<packageName>com.google.android.gms</packageName>
<folderName>google-play-services-res</folderName>
</packagedResource>
<packagedResource>
<packageName>android.support.v7.appcompat</packageName>
<folderName>android-support-v7-appcompat-res</folderName>
</packagedResource>
<packagedResource>
<packageName>android.support.v7.mediarouter</packageName>
<folderName>android-support-v7-mediarouter-res</folderName>
</packagedResource>
</packagedResources>
</platform>
If anyone is facing the same problem, I really appreciate if you would help me figuring out how to resolve this issue.
Regards,
Dan
