Google Play Services *with resources* - android

The guide to setting up GCM here: https://developer.android.com/google/gcm/client.html specifies:
Caution: When you add the Play Services library to your project, be sure to add it with resources, as described in Setup Google Play Services SDK.
Then the page it links to (https://developer.android.com/google/play-services/setup.html#Setup) never mentions the 'with resources' bit.
Does anyone know what this means, as I fear I've missed something when setting up my play services project.

With recources means as library project, not as JAR file.
Install the Google Play services from SDK manager.
After install it will be at /extras/google/google_play_services/libproject/google-play-services_lib/
So? you can copy this folder in you workspace? if you need.
If you are using Eclipse, import the library project into your workspace. Click File > Import, select Android > Existing Android Code into Workspace, and browse to the copy of the library project to import it.
Add Referense to Google Play services in your project. Example http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject

Does anyone know what this means
I suspect that it is a clumsy way of emphasizing that you need to attach the Play Services SDK Android library project to your app, rather than just copying over some JAR.

Related

libproject not found in Google Play Services 31

I need to find libproject folder to import Google Play Services to Eclipse, to import google play services on a project.
I install Google Play services 31 in "Android SDK Manager". When access to downloaded path I find:
I last version I have libproject:
¿Where is libproject to import google play services 31 in my Eclipse project?
Google Play services no longer ships a libproject directory and does not officially support development in Eclipse.
You'll have to use an older version or find an unofficial workaround if you want to use (the now completely deprecated) Eclipse.
I was also facing the same issue because I'm still using Eclipse. I was able to integrate Play Services revision 31 in my project using the following steps:
Start Android SDK Manager and choose to install Extras > Google Repository.
Navigate to android-sdk\extras\google\m2repository\com\google\android\gms\play-services-games\VERSION\
Change the extension of the .AAR file to .ZIP and extract the contents into a temporary location.
Go to the extracted folder and create a new directory called "lib", and move the "classes.jar" file into it.
Import the folder into Eclipse as existing Android code. Once imported you may need to set the project as Library and set the appropriate compile API level.
Now go back to the android-sdk\extras\google\m2repository\com\google\android\gms\play-services-games\VERSION\ folder and open up the pom file using any text editor and look at the dependancies section to see which other libraries it depends on.
Repeat the steps again for the new libraries you've identified as dependancies in the earlier step.
You have to keep checking all the dependancies until you've identified all the libraries you need for your project's purposes. For example, my project uses Ads, Cloud Save and Leaderboards/Achievements, so I did this process and ended up with 9 libraries to import into Eclipse (see attached screenshot).
Screenshot

Cordova add google play services

I just added OneSignal to my Cordova project. This appears to use Google Play services i.e. (I get a message "No valid Google Play services APK found"). I was wondering the best approach for adding it.
I have Google Play services v8.4.89 installed on my phone.
I have Google Play services installed via the SDK manager:
This creates a google_play_services folder (without a lot in it):
UPDATE
As per this Google has broken down Google Play Services into multiple libraries (.aar) located at:
android-sdk\extras\google\m2repository\com\google\android\gms
build.gradle dependencies:
I'm a little unsure of what to do next. I thought I could have potentially used this.
I might add I am using IntelliJ and have tried to import the JAR manually as per this.
Thanks,
The OneSignal error "No valid Google Play services APK found" means that the "Google Play services" app is missing from the device or is most likely just out of date. It should check the version under Settings>Apps. It should update automatically in the background after you open the Google Play store on the device and sign in. See the following link for more details.
https://documentation.onesignal.com/docs/all-users-are-shown-as-not-subscribed
You need to add it to your project library..
File >> Import, select Android > Existing Android Code into Workspace, browse to the library project (your android sdk env) to import it. extras/google/google_play_services/
After this.. you need to open the properties for your project..
Right click on your project and click properties select android and under the library section add the google lib.

should I check in the Google Play services library project to source version control for GCM support?

I already added the support for GCM at our android app, however one thing bothers me is about the Google Play services library project. Based on this link Set Up Google Play Services SDK, I should do the following at step 4:
Make a copy of the Google Play services library project.
If you are using Eclipse, import the library project into your workspace. Click File > Import, select Android > Existing Android Code into Workspace, and browse to the copy of the library project to import it.
We are using eclipse. So to allow other developer to build our app project without doing any manual work, I checked in the Google Play services library project into our version control (SVN) and add that project as part of our app project.
However I am not sure whether I should check that project into our source version control or not. One thing I also found out that google-play-services_lib.jar file is modified today, however I didn't do anything to that jar and I don't have any idea how it got updated. Should I check in the new version of the jar file? Again this still goes back to whether I should check in the Google Play services library project in the first place.
Could someone with GCM experience shed some lights what's the best approach here?
Update 1 at Jan 16:
Per the answer below, we could add a Google play services jar file to our app project, however based on this link, Implementing GCM Client, it has the following:
Caution: When you add the Play Services library to your project, be sure to add it with resources, as described in Setup Google Play Services SDK. The key point is that you must reference the library—simply adding a .jar file to your Eclipse project will not work. You must follow the directions for referencing a library, or your app won't be able to access the library's resources, and it won't run properly
So that would means that we could not just simple add the jar file.
Your library compiles first whenever you compile your application, as library projects create jar your Google Play Services jar will be updated on every run.
As the library incluse resources you cant create the jar and add them in to your java build path there two possible ways to get rid of this :
Move to Android Studio which uses .aar files which contains all your andorid resources in archive. Read more from refrence.
Prevent libray project to compile each and every time you run the app in eclipse. Click Here to know how to do that.

Android - Google Maps, Google Play Services library referencing

Is there any better way (easy) to reference the Google Play Services lib(.jar)
than, importing the Google Play Services project from Android SDK directory into Current project's Eclipse workspace?
P.s.:- Because this is bit confusing for a novice android developer!!!
Thanks for your advice in Advance!
You can find the .jar file inside the libs folder of imported library(...\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\libs).
But referencing only that jar file may be improper. I tried to do so for google maps, but didn't work. Suggested way is to import that library project to the workspace and refer the whole.

Check-in Android project having dependencies to SVN

I have added google play services lib as a dependent library to my Android project as shown.
I need to checkin the code to SVN . Do i need to checkin the google play services project as well? Or Is there any way i can package the google play services project along with my Android project?
Any help will be appreciated.
The Google Play Services should be used as an Android Library Project. So you shouldn't pack it in any way. Usually I don't like committing external libraries in the versioning control system, and I prefer letting everybody clone and import the library projects locally. You could though add the library project into a different folder, and commit it to your source control if you find it more convenient.
Another alternative would be to use Maven for dependency management.

Categories

Resources