• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Possible to integrate Google play services to Adobe AIR app?

Community Beginner ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

Hello Adobe Experts,

Need help!

Is it possible somehow to integrate google play services to Adobe AIR app, not via Native extension?

I mean, can I integrate it as a dependent library to my AIR app? I know how to bundle it as a part of Native extension but the challenge here is if I use some other ANE's which is also bundled with google play services library then it gives the conflicts. So was thinking if there is any way to integrate google play services all together separately to my AIR app.

Looking forward for reply.

Thanks in advance.

TOPICS
Development

Views

1.9K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Engaged , Aug 27, 2015 Aug 27, 2015

Oh my gosh, I'm an idiot!! I'm so sorry, I didn't realize it didn't apply to Android....

You could try a different ANE, I guess, here's one commercial option: distriqt // air native extensions

Votes

Translate

Translate
Engaged ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

I don't believe there's any other way to use native code, but if you're having symbol conflicts, there is an option to hide ANE library symbols from each other, which is supposed to eliminate the conflicts.

In Flash Builder, it's in ActionScript build Packaging / Apple iOS, native extensions tab, at the bottom of the window:

Screenshot 2015-08-27 19.06.48.png

There's also a corresponding command-line option, which you should be able to find in the documentation.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

Thanks for your quick reply.

What library symbols it will hide? Sorry for asking naive question, have never used this flag.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

I actually don't know, I've never turned it on! I've never had conflicts

that couldn't be resolved by editing/rebuilding my ANE, since I'm using a

custom ANE as well as third-party ones. Supposedly it puts ANE symbols into

separate namespaces to stop them conflicting with each other, which sounds

in theory like exactly what you're looking for. I'd say just turn it on and

see what happens!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

hmm .. so this flag is only visible under iOS tab, for Android how it should be handled? As I am getting conflicts due to multiple google play services? Isn't it should be handled under Android section?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

Oh my gosh, I'm an idiot!! I'm so sorry, I didn't realize it didn't apply to Android....

You could try a different ANE, I guess, here's one commercial option: distriqt // air native extensions

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

What conflicts / error messages are you seeing?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

Conflicts.jpg

These are the conflicts which are coming because of multiple Google play services.

Please advice how should we crack this?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 27, 2015 Aug 27, 2015

Copy link to clipboard

Copied

I apologize, I'm more familiar with AIR and ANEs on iOS than on Android.

In iOS, if there are system frameworks that multiple ANEs need, it's possible to dynamically link against them, and then the system only loads one copy at runtime.  The system libraries are not included in the ANE, but loaded dynamically once the app is run on the device. I don't know if Google Play Services is available on the device itself though, or if you have to include it in your ANE(s) for it to be available to your app.

If something like that doesn't work, you may have to modify the ANEs to only include one copy of the Google Play Services library.  Either remove it from both conflicting ANEs and add a third ANE that only has google play services, or try to combine both ANEs into one, that has only one copy of Google Play Services.  Usually, including two copies of a library doesn't work out so well.

Good luck, I wish I could be of more help!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 28, 2015 Aug 28, 2015

Copy link to clipboard

Copied

I found a blog post by Adobe last night that might help you!  It's here: Multiple ANEs and conflicting resources

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 11, 2015 Sep 11, 2015

Copy link to clipboard

Copied

hey kawikaheftel,

can you please help me in getting rid of below error for iOS:

Error occurred while packaging the application:

Undefined symbols for architecture arm64:

  "_OBJC_METACLASS_$_SFSafariViewController", referenced from:

      _OBJC_METACLASS_$_IMSafariViewController in libcom.inmobi.plugin.adobeair.a(IMSafariViewController.o)

  "_OBJC_CLASS_$_SFSafariViewController", referenced from:

      _OBJC_CLASS_$_IMSafariViewController in libcom.inmobi.plugin.adobeair.a(IMSafariViewController.o)

ld: symbol(s) not found for architecture arm64

I build my iOS native library using Xcode 6.2 and the build my ANE. When i try to build my test app for iOS platform using, it throws the above error.

I tried the approach mentioned here:

http://stackoverflow.com/questions/19213782/undefined-symbols-for-architecture-arm64

but didn't helped.

Can you please help here?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Sep 13, 2015 Sep 13, 2015

Copy link to clipboard

Copied

Hi,

That looks like a missing framework reference. You should try using the 'platformsdk' option providing a recent version of the iOS SDK which will include those frameworks. The AIR SDK only includes a subset of the iOS SDK frameworks so using some ANE's will require using the iOS SDK directly. We have a tutorial on how to include it here:

http://airnativeextensions.com/knowledgebase/tutorial/1#ios

Not sure if you've solved your first issue, with conflicting Android libraries/resources is ANE's, but just to summarise, when developing an ANE with a library that may be used in more than one ANE you should not package that library with your ANE. You can build your jar against it but when you package your ANE, leave the lib and resources out and package them as a separate ANE. You can find the Google Play Services ANE we use here: distriqt/ANE-GooglePlayServices · GitHub It just contains the resources and libraries for Google Play

Cheers

air native extensions // https://airnativeextensions.com

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 18, 2015 Sep 18, 2015

Copy link to clipboard

Copied

LATEST

Hi michaelarchbold,

Thanks for your reply.

As you mentioned,  I specified the platform SDK to point to latest version of iOS SDK on my system and the above error is gone now. Thanks for that.

Now, when I tried to run my test app integrated with new ANE, it gives the following error:

Error occurred while packaging the application:

ld: library not found for -lSystem.B

Any idea what is causing this now?

Here is my platform.xml file:

<platform xmlns="http://ns.adobe.com/air/extension/17.0">
     <sdkVersion>9.0</sdkVersion>
     <linkerOptions>
          <option>-ios_version_min 5.1.1</option>
          <option>-framework AudioToolbox</option>
          <option>-framework SafariServices</option>
          <option>-framework CoreData</option>
          <option>-framework MapKit</option>
          <option>-framework ImageIO</option>
          <option>-framework CoreGraphics</option>
          <option>-framework AudioToolBox</option>
          <option>-framework Foundation</option>
          <option>-framework CoreLocation</option>
          <option>-weak_framework AdSupport</option>
          <option>-framework AVFoundation</option>
          <option>-framework Foundation</option>
          <option>-framework CoreTelephony</option>
          <option>-framework EventKit</option>
          <option>-framework EventKitUI</option>
          <option>-framework MediaPlayer</option>
          <option>-framework MessageUI</option>
          <option>-framework Security</option>
          <option>-framework Social</option>
          <option>-weak_framework StoreKit</option>
          <option>-framework SystemConfiguration</option>
          <option>-framework UIKit</option>
     </linkerOptions>
</platform>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 11, 2015 Sep 11, 2015

Copy link to clipboard

Copied

Thanks dude

Successfully decoupled google play services.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines