Hi,
I want to integrate the google AdMob ad framework into my Android app.
I found a good tutorial from Tommy Parnell here in the forum https://blog.tommyparnell.com/admob-with-xamarin-part-1-banner-ads/.
I downloaded his sample project from GitHub https://github.com/tparnell8/XamarinAdmobTutorial
My problem:
I tried to compile his sample project with the included Google Play Services (JellyBean) component. BUT I get these Java Heap Space OutOfMemory error all the time:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Tool exited with code: 3. Output: UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: Java heap space at java.util.BitSet.initWords(BitSet.java:144) at java.util.BitSet.(BitSet.java:139) at com.android.dx.ssa.SsaMethod.bitSetFromLabelList(SsaMethod.java:138) at com.android.dx.ssa.SsaBasicBlock.newFromRop(SsaBasicBlock.java:158) at com.android.dx.ssa.SsaMethod.convertRopToSsaBlocks(SsaMethod.java:174) at com.android.dx.ssa.SsaMethod.newFromRopMethod(SsaMethod.java:104) at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:45) at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:99) at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:73) at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:273) at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:134) at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:87) at com.android.dx.command.dexer.Main.processClass(Main.java:487) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459) at com.android.dx.command.dexer.Main.access$400(Main.java:67) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) at com.android.dx.command.dexer.Main.processOne(Main.java:422) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333) at com.android.dx.command.dexer.Main.run(Main.java:209) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:91) (admobDemo.AndroidPhone)
I tried to use/change different Google Play Services component version. Ich changed the API level....but nothing helps.
Has anyone an Xamarin Android App up and running with a Google AdMob integration ? Does anyone know how to handle this OutOfMemory error ?
Am I right, that the API level of the used Google Play Services component is essential for the API level of the complete App ? What is the lowest component version / API level, that's working ? (Because my App does not need a very hight API level).
Thanx in advance,
Best
Marco