Adobe Air 4.0 Native разширение с Google Play Services

Тези дни се опитвам да интегрирам AdMob в моето приложение за Android, базирано на Adobe Air, с Google Play Service. След като подготвих 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 Release Build на 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 .

Мога да получа файла ane. Но след отстраняване на грешки в моето приложение Flex грешката излиза.


person James    schedule 16.04.2014    source източник


Отговори (1)


Най-накрая намерих решението на проблема. Проблемът е в процеса на експортиране на собствено разширение към .jar файл. По-конкретно, когато експортирам проекта си за android в .jar файл, направих грешка. Избирам всички файлове на Java проекта за експортиране в .jar файл, включително папка gen, която не е необходима. Ето екранната снимка:

Това, което правя, е неправилно: въведете описание на изображението тук

Това е правилният начин: въведете описание на изображението тук

person James    schedule 17.04.2014