Whither Google Play Services?


#1

Finally got this ready to run, However, I get this error message in LogCat:

I checked my project refs and I have it included with a green check beside to the left.

What could I be missing?


#2

More on this:

This error occurs if I start a run but I’m out of GPS range. Then, I click on Map and boom!

If I’m within GPS range, it doesn’t die but doesn’t zero in on the lat/long either. Unfortunately, my dev workstation is in a basement and out of range of GPS, so I can’t run it under debug AND in GPS range.


#3

I may have the similar problem, I didn’t see the map at all. Here is my information

I think I know my problem, perhaps, I need to install google-play-services as library project instead of just add a jar file.
So far, I still not able to find the right instruction to create a lib project and reference to it in Android studio. I probably should create an other topic for the subject.

Sorry for the long message, for I need to give enough details.

But, the map still does not work.
I got three error messages related to this problem.
resources were not found.


  1. The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.

  2. Authorization failure. Please see developers.google.com/maps/docu … roid/start for how to correctly set up the map.

  3. 10-21 06:17:08.144 26380-26777/com.test.runtracker E/Google Maps Android API﹕ Ensure that the following correspond to what is in the API Console: Package Name: com.test.runtracker, API Key: AIzaS…1ePbSrh7-ZCuY, Certificate Fingerprint: 867…0FCF6B9CFC


I think I did everything right; I am on Mac OS, with Android studio

  1. Install google-play-services in android studio
  • in android SDK Manage: I install Extras: Google Play services Rev 12
  1. config it in the project
  • In RunTracker project: create RunTracker/libs/; cp google-play-services.jar into it.
  • R-click google-play-services.jar; select Add as Library;
    NOTE: R-click Open Library Settings => two module of google-play-services
    google-play-services; google-play-services(2)
  1. build.gradle
    dependencies {
    compile ‘com.android.support:appcompat-v7:18.0.0’, files (‘libs/google-play-services.jar’)
    }
    NOTE: settings.gradle doesn’t have libs/google-play-services
    include ‘:RunTracker’

  1. manifest file look pretty good.


NOTE: I got the API key from google console
Key for Android apps (with certificates)
API key: AIzaSyBb…PbSrh7-ZCuY
Android apps: 86:79:FD:6B:F6:…F:CF:6B:9C:FC;com.test.runtracker
Activated on: Oct 19, 2013 12:53 PM

  1. my device is HTC One running version 4.3

#4

I am using Android Studio as well and did not have to include lib, it got added automatically when I updated Gradle.

  1. In my module (not project) gradle, I added this as last line under dependencies

Once you do that, you can right click on app folder (root) and go to Open Module Settings, click on ‘app’ then go to Dependencies tab and you will see Play Services added there.

  1. My manifest looks like this:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name.runtracker" >

    <!-- The custom permission based on our app's package name and ending in MAPS_RECEIVE is not
           required anymore since Play Services 3.1.59 and rev 8 release of the Play Services SDK.  But
           if you leave it here, it will still work.
    <permission
        android:name=""your.package.name.runtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>
    -->

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

    <!-- The custom permission based on our app's package name and ending in MAPS_RECEIVE is not
          required anymore since Play Services 3.1.59 and rev 8 release of the Play Services SDK.
    <uses-permission android:name="your.package.name.runtracker.permission.MAPS_RECEIVE"/>
    -->

    <uses-feature android:required="true"
        android:name="android.hardware.location.gps"/>
    <uses-feature android:required="true" android:glEsVersion="0x00020000"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="your.package.name.runtracker.RunListActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".RunActivity"
            android:label="@string/app_name"/>
        <activity android:name=".RunMapActivity"
            android:label="@string/app_name" />

        <receiver android:name=".TrackingLocationReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="your.package.name.runtrackter.ACTION_LOCATION"/>
            </intent-filter>
        </receiver>
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="<your_api_key>"/>

        <meta-data android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
    </application>

</manifest>