1

나는 다음과 같은 오류 얻을 많이 : 안드로이드 V2에 대한지도를 구현하려고 할 때 java.lang.noclassdeffounderror: com.google.android.gms.R$styleable을.

어떻게 든 정확하게 작동하지 않기 때문에 내가 잘못하고있는 것을 놓치고 있어야합니다. 내가 처음 시도한 것은 lib 폴더에 google-play-services.lib를 복사하는 것이지만, 나는 이것을하지 말아야한다는 것을 알았다.

은 그럼 부가-google_apis이-구글-8 프로젝트로 가져올려고했는데,이 프로젝트는 The import com.google cannot be resolved.

나는 Vogella Tutorial 다음있어 오류 제공 :

활동 :

SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); 
     map = fm.getMap(); 

     //map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 
       Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG) 
        .title("Hamburg")); 
       Marker kiel = map.addMarker(new MarkerOptions() 
        .position(KIEL) 
        .title("Kiel") 
        .snippet("Kiel is cool") 
        .icon(BitmapDescriptorFactory 
         .fromResource(R.drawable.btn_logo))); 

       // Move the camera instantly to hamburg with a zoom of 15. 
       map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15)); 

       // Zoom in, animating the camera. 
       map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); 

매니페스트 :

<uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <permission 
     android:name="com.testmap.test.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.testmap.test.permission.MAPS_RECEIVE" /> 
    <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_FINE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
    uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

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

keytool 플러그인을 설치하여 검색된 SHA1을 입력하여 a_real_api_key를 검색했습니다. http://keytool.sourceforge.net/update 지문; com.testmap.test이 Google 콘솔에 있습니다.

와 XML : 나는 구글 플레이-서비스 라이브러리를 가져올 필요가있는 느낌이

<fragment 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     class="com.google.android.gms.maps.SupportMapFragment" /> 

, 누군가가 나를 이클립스에서이 작업을 수행하는 방법을 단계별로 말할 수있는, 나는 많은 답변을 따랐습니다 ,하지만 나는 매번 뭔가 잘못한 것처럼 보입니다.

답변

11

네, 맞습니다. google_play_services_lib을 가져와 프로젝트에 라이브러리로 추가해야합니다. 안드로이드 SDK 매니저

  • 에서

    1. 다운로드 Google Play Services는 "기존 안드로이드 코드베이스를 가져 오기"에 의해 프로젝트로 이 추가 :이 들어

      , 당신은 할 필요가있다. ~/<android_sdk>/extras/google/google_play_services/libproject 및 으로 이동하여 작업 영역에 추가하십시오. 이 프로젝트가 작업 공간에 추가되면

    2. , 에 마우스 오른쪽 버튼을 클릭, "속성"다음에 "안드로이드"탭으로 이동하고 라이브러리로 표시합니다.

    3. 응용 프로그램으로 이동 한 다음 "속성"으로 이동하여 "안드로이드"탭으로 이동하여 라이브러리 창에서 클릭 "라이브러리 추가"를 마우스 오른쪽 버튼으로 클릭합니다. 여기에 google_play_services 프로젝트가 표시됩니다. 프로젝트에 대한 참조로 추가하십시오.

    4. 또 다른 요구 사항은 귀하의 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "안드로이드 도구"옵션으로 이동하는 것입니다 "지원 라이브러리 추가 ...".

    이지도가 실행 얻어야한다.

    참고 : Google Play 서비스를 JAR이 아닌 "기존 Android 코드베이스"프로젝트로 추가해야합니다.

  • +0

    감사합니다. 이것은 내가 필요한 것입니다. 3 단계를 찾지 못했습니다. – Diego

    +0

    오류가있는 지금 흰색 화면이 나타납니다. maps.ag.an.a 메소드에서 참조되는 'maps.af.k'클래스를 찾을 수 없습니다. 그러나 더 가깝습니다. , 어떻게 든지도가로드되지 않습니다. – Diego