Собственное расширение Adobe Air 4.0 с сервисами Google Play

В настоящее время я пытаюсь интегрировать AdMob в свое приложение для Android на базе Adobe Air с помощью службы Google Play. После того, как я подготовил файл ane, я получил следующую ошибку после отладки приложения во Flash Builder 4.6:

Произошла ошибка при упаковке приложения:

Ошибка инструмента dx: НЕОЖИДАННОЕ ИСКЛЮЧЕНИЕ НА ВЫСОКОМ УРОВНЕ: java.lang.IllegalArgumentException: уже добавлено: Lcom/google/android/gms/R$attr; на com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) на com.android.dx.dex.file.DexFile.add(DexFile.java:143) на com.android.dx.command.dexer.Main.processClass(Main.java:301) на com.android.dx.command.dexer.Main.processFileBytes(Main.java:278) на com.android.dx.command.dexer.Main.access$100(Main.java:56) на com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:229) на com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244) на com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130) в com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108) в com.android.dx.command.dexer.Main.processOne(Main.java:247) в com.android.dx.command.dexer.Main.processAllFiles(Main.java:183) в com.android.dx.command.dexer.Main.run(Main. Java:139) на com.android.dx.command.dexer.Main.main(Main.java:120) на com.android.dx.command.Main.main(Main.java:89) 1 ошибка; отбрасывание

Эта проблема очень похожа на статью " Невозможно собрать сборку релиза Android на Flash Builder 4.7" из-за "сбой инструмента dx"

Я знаю, что должно быть что-то не так с моим файлом Ane. Но я действительно не знаю, в чем проблема. Вот моя родная папка расширения.jar для Android:введите описание изображения здесь

Вот мой файл platform.xml:

<platform xmlns="http://ns.adobe.com/air/extension/4.0"> 
    <packagedDependencies>
        <packagedDependency>android-support-v4.jar</packagedDependency>
        <packagedDependency>google-play-services.jar</packagedDependency> 
    </packagedDependencies> 
    <packagedResources>
        <packagedResource> 
            <packageName>com.google.android.gms</packageName> 
            <folderName>google-play-services-res</folderName> 
        </packagedResource> 
    </packagedResources>
</platform>

Я использую следующую командную строку для компиляции файла ane:

adt -package -target ane Output.ane extension.xml -swc AdmobLibrary.swc -platform Android-ARM -platformoptions platform.xml -C android . -platform default -C default .

Я могу получить файл Анэ. Но после отладки моего приложения Flex появляется ошибка.

1 ответ

Решение

Я наконец нашел решение проблемы. Проблема в процессе экспорта собственного расширения в файл.jar. В частности, когда я экспортировал свой проект Android в файл.jar, я допустил ошибку. Я выбираю целые файлы проекта Java для экспорта в файл.jar, включая папку gen, которая не нужна. Вот снимок экрана:

То, что я делаю, неверно:введите описание изображения здесь

Это правильный путь:введите описание изображения здесь

Другие вопросы по тегам