Software Archive
Read-only legacy content
17061 Discussions

Plugin issue when change from CLI 4 to 5

Mike_C_4
New Contributor I
873 Views

 

went to change the CLI version from 4 to 5 XDK went to upgrade my plugins and I now get this error

I do have this directory and the plugin is there, so I'm thinking that this message is bogus and there is a different  issue at foot here.

0 Kudos
14 Replies
Amrita_C_Intel
Employee
873 Views

Hello Mike,

My recommendation is create a new project and include the plugins again and rebuild it . 

0 Kudos
Mike_C_4
New Contributor I
873 Views

Hi Amrita,

okay I did what you suggestion but now I get this error in my log:

FYI just yesterday I compile  and uploaded it to google with no issues.

( attached the full log ) 

:preDexRelease

:dexRelease
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
	at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
	at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
	at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
	at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
	at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
	at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
	at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
	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)

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dexRelease'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
  	/Developer/tools/adt-bundle/android-sdk/build-tools/21.1.2/dx --dex --output .../FamilyReunion/platforms/android/build/intermediates/dex/release --input-list=.../FamilyReunion/platforms/android/build/intermediates/tmp/dex/release/inputList.txt
  Error Code:
  	2
  Output:
  	
  	UNEXPECTED TOP-LEVEL EXCEPTION:
  	com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
  		at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
  		at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
  		at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
  		at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
  		at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
  		at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
  		at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
  		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)
  	


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
0 Kudos
Mike_C_4
New Contributor I
873 Views
Is there any update on this?
0 Kudos
PaulF_IntelCorp
Employee
873 Views

Are you still seeing this issue? Some changes were made to the build system last week that should have resolved that issue. Please advise if you are still unable to build.

0 Kudos
Mike_C_4
New Contributor I
873 Views

Hi Paul,

Thank you for getting back to me. Yes I did and I still got the error, I trace it back to ad mob pro plugin,  because I'm so far behind in this project I just tried a different admob plugin and it I got it to complied for android . I have not tested it for IOS yet.

 

I'll let you know for iOS later in the week

0 Kudos
PaulF_IntelCorp
Employee
873 Views

Mike, thanks for that feedback, it is very useful information.

0 Kudos
Mike_C_4
New Contributor I
873 Views

Hi Paul,

Just tested iOS and it failed ( Imagine that LOL ) .

Okay here the subset of the log, it look like ( but not 100% sure ) that the issue is with the SDK the admob plugin uses SDK for iOS, v7.3.1

but I believe XDK is using 6.xx last time I checked. can you please let me know if you can help.

In file included from .../FamilyReunion/platforms/ios/Reunion/Plugins/cordova-admob/CDVAdMobAds.m:29:
.../FamilyReunion/platforms/ios/Reunion/Plugins/cordova-admob/CDVAdMobAds.h:31:9: fatal error: 'GoogleMobileAds/GADAdSize.h' file not found

txs again

Mike

 

0 Kudos
PaulF_IntelCorp
Employee
873 Views

Those SDK version numbers being cited by Raymond Xie, the author of this AdMob plugin, in his github repo, are for the version of the AdMob SDK that he is using, not for the version of Xcode required to use the SDK. As far as I can tell, Xcode 7 is not required to use that SDK. Their doc page (which is no guarantee) says the SDK requires Xcode 5.1 or higher (https://developers.google.com/admob/ios/quick-start).

I don't see any mention in their SDK release notes that indicate a need for another version of Xcode: https://developers.google.com/mobile-ads-sdk/rel-notes#ios

The error message you cite is definitely the source of the problem. I wonder if a few versions back would work. Unfortunately, most of these guys do a lousy job of tagging or publishing releases in their github repos, so you have to guess... I see he changed how the iOS versions of the AdMob SDK was added to the project here: https://github.com/floatinghotpot/cordova-admob-pro/commit/94a31660d1bb35337e3430e2608b7710ea4d882a#diff-8bf93e7deb9111d18c5b7588733af1ee, in Feb of this year, but all the versions he's posted in NPM are newer than that date, so I would guess that none of the NPM versions will work, but I'm speculating. You might try a few of the older versions to see if you get the same results. Here's the list of versions for both that he publishes on NPM:

$ npm show cordova-plugin-admobpro
 
{ name: 'cordova-plugin-admobpro',
  description: 'Ultimate Cordova Plugin for Google AdMob and DFP to monetize hybrid apps. Show mobile Ad with single line of JavaScript. Compatible with Cordova CLI, PhoneGap Build, Intel XDK/Crosswalk, Google ChromeApp, Ionic, Meteor, etc.',
  'dist-tags': { latest: '2.9.9' },
  versions: 
   [ '2.7.7',
     '2.7.8',
     '2.8.0',
     '2.8.1',
     '2.8.2',
     '2.8.3',
     '2.9.0',
     '2.9.1',
     '2.9.2',
     '2.9.3',
     '2.9.4',
     '2.9.5',
     '2.9.6',
     '2.9.7',
     '2.9.8',
     '2.9.9' ],
  maintainers: 'floatinghotpot <rjfun.mobile@gmail.com>',
  time: 
   { modified: '2015-11-02T04:09:17.071Z',
     created: '2015-04-23T03:59:26.550Z',
     '2.7.5': '2015-04-23T03:59:26.550Z',
     '2.7.6': '2015-04-23T04:58:15.857Z',
     '2.7.7': '2015-04-25T13:11:53.749Z',
     '2.7.8': '2015-06-02T03:05:20.349Z',
     '2.8.0': '2015-06-04T10:16:09.271Z',
     '2.8.1': '2015-06-09T08:04:36.064Z',
     '2.8.2': '2015-06-16T02:30:37.655Z',
     '2.8.3': '2015-06-17T03:49:34.296Z',
     '2.9.0': '2015-09-04T04:57:48.686Z',
     '2.9.1': '2015-09-10T05:35:16.050Z',
     '2.9.2': '2015-09-10T06:48:03.713Z',
     '2.9.3': '2015-09-27T13:45:44.471Z',
     '2.9.4': '2015-09-27T17:06:43.986Z',
     '2.9.5': '2015-09-28T03:25:36.041Z',
     '2.9.6': '2015-09-28T09:38:44.974Z',
     '2.9.7': '2015-09-29T02:20:08.263Z',
     '2.9.8': '2015-10-02T14:11:21.397Z',
     '2.9.9': '2015-11-02T04:09:17.071Z' },
  homepage: 'https://github.com/floatinghotpot/cordova-admob-pro#readme',
  keywords: [ 'cordova', 'ecosystem:cordova', 'ad', 'admob', 'google', 'rjfun' ],
  repository: 
   { type: 'git',
     url: 'git+https://github.com/floatinghotpot/cordova-admob-pro.git' },
  author: 'Liming Xie',
  bugs: { url: 'https://github.com/floatinghotpot/cordova-admob-pro/issues' },
  license: 'MIT',
  readmeFilename: 'README.md',
  users: 
   { floatinghotpot: true,
     joemdavis: true,
     mahnuh: true,
     cgomez: true },
  version: '2.9.9',
  cordova: 
   { id: 'cordova-plugin-admobpro',
     platforms: [ 'android', 'ios', 'amazon-fireos', 'wp8', 'windows' ] },
  gitHead: 'e9f3936480dd018d8ae2b9d9004592bf1e11c3c1',
  scripts: {},
  dist: 
   { shasum: '59545e1d09d6bc6bb49ac642149a91fcf6864860',
     tarball: 'http://registry.npmjs.org/cordova-plugin-admobpro/-/cordova-plugin-admobpro-2.9.9.tgz' },
  directories: {} }

and

$ npm show cordova-plugin-admob
 
{ name: 'cordova-plugin-admob',
  description: 'Cordova Plugin for Google AdMob and DFP Ads',
  'dist-tags': { latest: '2.9.9' },
  versions: [ '2.7.7', '2.7.8', '2.8.2', '2.9.0', '2.9.7', '2.9.8', '2.9.9' ],
  maintainers: 'floatinghotpot <rjfun.mobile@gmail.com>',
  time: 
   { modified: '2015-11-02T04:13:00.252Z',
     created: '2015-04-24T02:54:45.729Z',
     '2.1.7': '2015-04-24T02:54:45.729Z',
     '2.1.8': '2015-04-24T03:12:12.643Z',
     '2.1.9': '2015-04-24T03:13:33.551Z',
     '2.7.6': '2015-04-25T10:49:44.007Z',
     '2.7.7': '2015-04-25T11:00:48.844Z',
     '2.7.8': '2015-06-02T04:04:26.436Z',
     '2.8.2': '2015-06-17T03:15:34.084Z',
     '2.9.0': '2015-09-04T04:59:13.459Z',
     '2.9.7': '2015-09-29T02:31:47.606Z',
     '2.9.8': '2015-10-02T14:12:53.874Z',
     '2.9.9': '2015-11-02T04:13:00.252Z' },
  homepage: 'https://github.com/floatinghotpot/cordova-admob-pro#readme',
  keywords: [ 'cordova', 'ecosystem:cordova', 'ad', 'admob', 'google', 'rjfun' ],
  repository: 
   { type: 'git',
     url: 'git+https://github.com/floatinghotpot/cordova-admob-pro.git' },
  author: 'Liming Xie',
  bugs: { url: 'https://github.com/floatinghotpot/cordova-admob-pro/issues' },
  license: 'MIT',
  readmeFilename: 'README.md',
  version: '2.9.9',
  cordova: 
   { id: 'cordova-plugin-admob',
     platforms: [ 'android', 'ios', 'amazon-fireos', 'wp8', 'windows' ] },
  gitHead: '6b68619a1077319693e8e1656e79c55d0a9388f8',
  scripts: {},
  dist: 
   { shasum: '176a968fd83a150a293229dcfb8c0fe40a779294',
     tarball: 'http://registry.npmjs.org/cordova-plugin-admob/-/cordova-plugin-admob-2.9.9.tgz' },
  directories: {} }

As far as I can tell, from his docs. the second one is meant to deal with differences in Android build systems (ANT versus GRADLE), so the iOS versions of the those plugins may be identical. I would try, for example, the oldest version in those lists, a middle version, etc. to see if you can hit something that builds...

Otherwise, there are others, try this search and you'll see: https://cordova.apache.org/plugins/?q=admob You can add them as third-party plugins from the Cordova registry. For example, if you wanted to try this one > https://www.npmjs.com/package/cordova-admob (I have no idea if it is any good):

Screen Shot 2015-11-25 at 12.18.06 PM.png

Be sure to remove the existing AdMob plugin from your project before adding this one.

0 Kudos
Mike_C_4
New Contributor I
873 Views

 

Hi Paul

Okay we are talking about two different plugins and thats my fault:

First the admob pro plugin that works in both iOS and android is 2.7.8. my issue was I could not load this version any longer and got the message in the original post, not for the error iOS . I change plugin to this one https://github.com/appfeel/admob-google-cordova.  Now this one worked in android but produces the above error in iOS . But I'm interested in BerdB  comment that he got 2.9.9 of Admob Pro  to compile in Android. I need to clean up everything and start over again.

 

Mike

 

 

0 Kudos
PaulF_IntelCorp
Employee
873 Views

Please note, there are other AdMob plugins. None of them is a "sanctioned" plugin by AdMob or Google. Please check out the others that I point to, we have not tested all of these and, frankly, have found the inconsistency of the developers providing them to be a major frustration. Thus, the key point of my post was to guide you to other options that might work better. We'll be removing the AdMob plugins from the featured list, due to this inconsistency problem (among other issues).

0 Kudos
Mike_C_4
New Contributor I
873 Views
Thank you Paul will do!
0 Kudos
Hamilton_Tenório_da_
Valued Contributor I
873 Views

@Mike> did you solve this issue? What plugin (admod) did you use? 

I tryied admob and admobpro and both failed the build.

0 Kudos
Mike_C_4
New Contributor I
873 Views

@hamilton>  I'm using Admob Plugin Pro version 2.7.8

0 Kudos
Hamilton_Tenório_da_
Valued Contributor I
873 Views

@Mike> Thank you for the answer. Using this one from cloud plugin, for me, it crashed the build. I used the old one donwloading from the github and using locally. I don´t know why, but it works. 

0 Kudos
Reply