Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Maps V2 shows blank screen on android 2.2

I tried following a tutorial on Android Maps V2 Quick Start But when I run the app, a blank map screen is shown. My phone uses android 2.2.1.

enter image description here

This is what shows in logcat:

12-07 18:07:52.479: W/dalvikvm(1654): VFY: unable to resolve instance field 24
12-07 18:07:53.129: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/a/du; (411)
12-07 18:07:53.129: W/dalvikvm(1654): Link of class 'Lmaps/a/du;' failed
12-07 18:07:53.139: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/a/ej; (2363)
12-07 18:07:53.139: W/dalvikvm(1654): Link of class 'Lmaps/a/ej;' failed
12-07 18:07:53.139: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/j/k; (2379)
12-07 18:07:53.139: W/dalvikvm(1654): Link of class 'Lmaps/j/k;' failed
12-07 18:07:53.149: E/dalvikvm(1654): Could not find class 'maps.j.k', referenced from method maps.y.ae.a
12-07 18:07:53.149: W/dalvikvm(1654): VFY: unable to resolve new-instance 3571 (Lmaps/j/k;) in Lmaps/y/ae;
12-07 18:07:53.389: W/dalvikvm(1654): VFY: unable to resolve direct method 14965: Ljava/io/IOException;.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V

Edit: This is the manifest.xml file:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.eunice.mapstry"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    <permission android:name="com.eunice.mapstry.permission.MAPS_RECEIVE"
                android:protectionLevel="signature"/>
    <uses-permission android:name="com.eunice.mapstry.permission.MAPS_RECEIVE"/>
    <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_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <uses-library android:name="com.google.android.maps" />

        <activity
            android:name="com.eunice.mapstry.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyBt_JE6_XIVR8-t0HrbhskeLrAVxSJst6c"/>
    </application>

</manifest>

Edit: I have added an image of my google api console:

enter image description here

like image 655
euniceadu Avatar asked Dec 07 '12 18:12

euniceadu


4 Answers

I was mucking around with this stuff for ages as well (certificates, package names, API console etc.) and nothing worked until I tried uninstalling the app from my device, then re-installing it and suddenly it was fine.

like image 32
Mick Byrne Avatar answered Sep 30 '22 15:09

Mick Byrne


I had the same problem but solved it like that. Might be helpful if the above answer doesn't work for you. After I changed my app's package name, map starts not to show up. (it happened after I changed my package name)

  1. Delete the keystore file that you used for previous package
  2. Create a new keystore file
  3. Get SHA1 fingerprint
  4. Go to API Console
  5. Create a new Android App.
  6. Paste your fingerprint
  7. Use the given API Key in your Manifest File

That worked for me

like image 45
Yunus Yurtturk Avatar answered Sep 30 '22 15:09

Yunus Yurtturk


I finally found out what the problem was. I was picking the wrong debug keystore. I am working with an ubuntu machine. Since I opened eclipse as root, the default keystore in eclipse was located in my root folder(/root/.android/.android/debug.keystore) whiles I was creating the api key with the debug keystore from my user folder. I created a new api key with the debug keystore in the root folder and it works now.

like image 100
euniceadu Avatar answered Sep 30 '22 14:09

euniceadu


make sure that you enable the Google Maps Android API v2 service in the https://code.google.com/apis/console

  1. Go to you https://code.google.com/apis/console-> services tab
  2. Make sure Google Maps Android API v2 is ON
  3. Go to API Access tab
  4. Create again a new Android key

Then you're good to go :)

like image 27
CodeBlue Avatar answered Sep 30 '22 14:09

CodeBlue