2014-11-28 2 views
0

바로이 질문에 대한 답이 여러 곳에서 있었지만 아직 어떤 문제가 발생하지 않았으며 최근에 Android 응용 프로그램으로 이동하여 내 앱에서지도를 사용하려고했습니다.android google map API 문제

https://www.youtube.com/watch?v=wNlleczyPjs

https://developers.google.com/maps/documentation/android/start#install_and_configure_the_google_play_services_sdk

이 그래서 제 질문은, 그 밖의 무엇을하는 것은 내가 잘못했을 수있다 :

나는 바로 이러한 링크를 따라 갔다. 난 그냥

내 느낌 내 키가 제대로 등록되지 않는 것입니다 ... 그것을 얻을하지 않습니다하지만 새 키를 생성 할 때 나는 다음과 같은 정보 제공 :

Android apps: 
9D:7C:<THIS BIT IS SECRET>84:0F;com.example.myapp 

추가 정보를

여기

11-28 11:09:59.471: E/AndroidRuntime(31683): FATAL EXCEPTION: main 
11-28 11:09:59.471: E/AndroidRuntime(31683): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.ActivityThread.access$600(ActivityThread.java:140) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.os.Looper.loop(Looper.java:137) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.ActivityThread.main(ActivityThread.java:4898) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at java.lang.reflect.Method.invokeNative(Native Method) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at java.lang.reflect.Method.invoke(Method.java:511) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at dalvik.system.NativeStart.main(Native Method) 
11-28 11:09:59.471: E/AndroidRuntime(31683): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Activity.setContentView(Activity.java:1924) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at com.example.myapp.MainActivity.onCreate(MainActivity.java:8) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Activity.performCreate(Activity.java:5206) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064) 
11-28 11:09:59.471: E/AndroidRuntime(31683): ... 11 more 
11-28 11:09:59.471: E/AndroidRuntime(31683): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.SupportMapFragment: make sure class name exists, is public, and has an empty constructor that is public 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Fragment.instantiate(Fragment.java:584) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Fragment.instantiate(Fragment.java:552) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Activity.onCreateView(Activity.java:4849) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) 
11-28 11:09:59.471: E/AndroidRuntime(31683): ... 20 more 
11-28 11:09:59.471: E/AndroidRuntime(31683): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.SupportMapFragment 
11-28 11:09:59.471: E/AndroidRuntime(31683): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
11-28 11:09:59.471: E/AndroidRuntime(31683): at android.app.Fragment.instantiate(Fragment.java:574) 
11-28 11:09:59.471: E/AndroidRuntime(31683): ... 23 more 
11-28 11:09:59.511: D/dalvikvm(31683): GC_CONCURRENT freed 190K, 9% free 12391K/13575K, paused 12ms+2ms, total 36ms 

코드입니다 :

여기에 오류 로그입니다
package com.example.myapp; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
public class MainActivity extends FragmentActivity{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
} 

여기

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myapp" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".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="AIzXXXXXXXXXXXXXXXXXXXXXwKo"/> 
       <meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
    </application> 
</manifest> 

androidManifext.xml

이며, 여기 main_activity.xml 레이아웃입니다 : 사전에

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment"/> 

감사합니다.

IT 작업 예수님, 방금 시작한 곳이 없습니다. 이클립스는 방금 일식을 먹는 데 약 10 분이 걸렸다. 이제 막 작동하기 시작했고 앱도 마찬가지입니다. 나는 무슨 일이 있었는지 전혀 몰랐고 왜 그것이 나를 괴롭혔는지 전혀 몰랐다. 기본적으로 내가 말할 수있는 것은 아마도 api 키가 작동하는 데 몇 시간이 걸릴 것입니다.

+0

참조'google_play_services_lib'을 위해 잘 작동 .... –

+0

@MD 내가 (프로젝트에 파일을 복사 포함) 가져 오기 다음 프로젝트에 추가 않았다 properties-> android> 라이브러리 – nafas

답변

0

이것이 문제의 원인인지 확실하지 않지만 main_activity.xml에 레이아웃 컨테이너가 없습니다. 있는 LinearLayout, RelativeLayout의가 ..

는 시도 결정은 다음과 같이 어떻게되는지 main_activity.xml 수 :
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 
    <fragment 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     class="com.google.android.gms.maps.SupportMapFragment"/> 
</LinearLayout> 

는 또한 나는 그것이 나를 위해 완벽하게 작동 vogella http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html에서 자습서를 시도 제안했다.

오류 로그를 다시 한 번 읽으면 프로젝트에 지원 라이브러리를 추가했는지 궁금합니다. 일식에서는 같은 이동 : 마우스 오른쪽 단추로 프로젝트 -> 안드로이드 도구 -> 지원 라이브러리 추가 ...

+0

메이트를 추가하면 방금 자체 작업이 끝납니다. 나는 왜 그리고 어떻게 될지 전혀 모른다. 기본적으로 내 코드에서는 아무 것도 변경하지 않았습니다. – nafas

0

PLZ는이 권한을 추가 만이 내가 사용

<permission 
     android:name="<your package name>.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="<your package name>.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
+0

난 단지 5 권한을 추가, 내가 READ_GSERVICES을 추가하지 않았습니다 – nafas

+0

k 위의 권한을 추가하고 –

+0

친구를 실행하려고하면, 그것은 그 자체로 일을 끝냈다. 나는 왜 그리고 어떻게 될지 전혀 모른다. 기본적으로 내 코드에서는 아무 것도 변경하지 않았습니다. – nafas

0

작동 ...

<LinearLayout 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" 
android:orientation="vertical" > 

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

그것은 당신의 프로젝트 나

+0

메이트, 그것은 단지 자신의 작업을 끝냈다. 나는 왜 그리고 어떻게 될지 전혀 모른다. 기본적으로 내 코드에서는 아무 것도 변경하지 않았습니다. – nafas

+0

@ Mr.Blueskies 왜 이미 답변을 했습니까? 또한 fill_parent는 더 이상 사용되지 않으며 LinearLayout에는 맨 아래에 닫기 태그가 없습니다. – cYrixmorten