Android Google Mapis API v2 dołączenie biblioteki

0

Witam,
Walczę z dołączeniem biblioteki Google do obsługi map. Włączyłem usługę w Google services. Za pomocą libtool wygenerowałem swój debug API klucz.

Zainstalowałem Google Play Services API przez Android SDK managera posiadam też API niezbędne do tworzenia programów na system 4.0.3 i wszystkie wcześniejsze.

Uzupełniłem AndroidManifest.xml tak, aby uwzględniał klucz, niezbędne uprawnienia itp.

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

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="15" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
    
    <permission
        android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    
    
    <uses-permission android:name="com.example.mapdemo.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" >
        <activity
            android:name="com.poczatkujacy.maptutorial.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="my_secret_sha" />
    </application>

</manifest>

W Eclipse zrobiłem:

  1. File / Import / Android / Existing Android Code Into Workspace..
    I tak w Project Explorer otrzymałem google-play-services_lib.
  2. Następnie w moim projekcie w Eclipse:
    Project / Proporties / Android w zakładce Library dodałem google-play-services_lib.

Próbuje wykonać następujący tutorial: https://developers.google.com/maps/documentation/android/

Niestety, obiekty potrzebne w Activity nie są widoczne np. klasa Marker albo GoogleMap nie mogą zostać prawidłowo zaimportowane. Jak to prawidłowo dołączyć? Chodzi chyba o dołączenie odpowiedniego jara..

Pozdrawiam,

0

Nierozwiązane.

Przeciągnąłem google-play-services.jar z google-play-services_lib do libs/mapTutorial (nie wiem czy to dobry pomysł). Od tej pory obiekty mogą być zaimportowane, ale aplikacja wciąż nie działa. Zakończyła się wyjątkiem. Usunąłem więc wszystkie obiekty z Activity.

W acitivity_main.xml wpisałem:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
 
    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout> 

Po usunięciu fragment aplikacja uruchamia się, więc to ten kod powoduje wyjątek. W LogCat mam mniej więcej taki błąd:
03-10 1315.313: E/AndroidRuntime(16761): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable

Po usunięciu fragmentu z layoutu problem znika. Czyli wciąż źle dołączam moje biblioteki..

0

Już wiem co źle robiłem, po dodaniu biblioteki nie naciskałem "Apply". Należy to zrobić tak jak opisują to tutaj:
http://android-er.blogspot.com/2012/12/add-reference-library-google-play.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1