2017-02-03 12 views
1

Я пытаюсь скомпилировать простой экран на моем телефоне, но приложение продолжает закрываться. Кажется, что все мои утки подряд, но я просто в тупике. Это мой первый раз, работая с API в Android StudioRuntimeException: ключ API не найден. Убедитесь, что geo.API_KEY находится в AndroidManifest.xml

Здесь манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.morticia.android.firstmap"> 

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.morticia.android.maptest_app" 
     android:value="AIzaSyBf3tEmdR18S-2v0E1i1x0oqcXJ9imntT4" /> 

    <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> 
</application> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
</manifest> 

И это мой MainActivity XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
android:layout_height="match_parent" 
android:layout_width="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity"> 

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:name="com.google.android.gms.maps.MapFragment" 
    map:cameraBearing="112.5" 
    map:cameraTargetLat="40.7484" 
    map:cameraTargetLng="-73.9857" 
    map:cameraTilt="65" 
    map:cameraZoom="17" /> 

</RelativeLayout> 

и, наконец, MainActivity Java код:

package com.morticia.android.firstmap; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

import com.google.android.gms.maps.MapFragment; 

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
} 

вот журналы в соответствии с запросом:

02-02 20:29:13.420 26932-26932/com.morticia.android.firstmap E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.morticia.android.firstmap, PID: 26932 
                      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.morticia.android.firstmap/com.morticia.android.firstmap.MainActivity}: android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class fragment 
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253) 
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349) 
                       at android.app.ActivityThread.access$1100(ActivityThread.java:221) 
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 
                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                       at android.os.Looper.loop(Looper.java:158) 
                       at android.app.ActivityThread.main(ActivityThread.java:7224) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                      Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class fragment 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:551) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                       at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288) 
                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143) 
                       at com.morticia.android.firstmap.MainActivity.onCreate(MainActivity.java:13) 
                       at android.app.Activity.performCreate(Activity.java:6876) 
                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) 
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206) 
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)  
                       at android.app.ActivityThread.access$1100(ActivityThread.java:221)  
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)  
                       at android.os.Handler.dispatchMessage(Handler.java:102)  
                       at android.os.Looper.loop(Looper.java:158)  
                       at android.app.ActivityThread.main(ActivityThread.java:7224)  
                       at java.lang.reflect.Method.invoke(Native Method)  
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)  
                      Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class fragment 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:847) 
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:527) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:429)  
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:380)  
                       at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288)  
                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)  
                       at com.morticia.android.firstmap.MainActivity.onCreate(MainActivity.java:13)  
                       at android.app.Activity.performCreate(Activity.java:6876)  
                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)  
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)  
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)  
                       at android.app.ActivityThread.access$1100(ActivityThread.java:221)  
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)  
                       at android.os.Handler.dispatchMessage(Handler.java:102)  
                       at android.os.Looper.loop(Looper.java:158)  
                       at android.app.ActivityThread.main(ActivityThread.java:7224)  
                       at java.lang.reflect.Method.invoke(Native Method)  
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)  
                      Caused by: java.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml 
                       at maps.y.k.b(Unknown Source) 
                       at maps.v.c.a(Unknown Source) 
                       at com.google.android.gms.maps.internal.CreatorImpl.b(Unknown Source) 
                       at com.google.android.gms.maps.internal.CreatorImpl.newMapFragmentDelegate(Unknown Source) 
                       at xg.onTransact(:com.google.android.gms.DynamiteModulesB:62) 
                       at android.os.Binder.transact(Binder.java:387) 
                       at trn.newMapFragmentDelegate(:com.google.android.gms:179) 
                       at com.google.android.gms.maps.internal.CreatorImpl.newMapFragmentDelegate(:com.google.android.gms:99) 
                       at trm.onTransact(:com.google.android.gms:62) 
                       at android.os.Binder.transact(Binder.java:387) 
                       at com.google.android.gms.maps.internal.zzc$zza$zza.zzt(Unknown Source) 
                       at com.google.android.gms.maps.MapFragment$zzb.zzwP(Unknown Source) 
                       at com.google.android.gms.maps.MapFragment$zzb.zza(Unknown Source) 
                       at com.google.android.gms.dynamic.zza.zza(Unknown Source) 
                       at com.google.android.gms.dynamic.zza.onInflate(Unknown Source) 
                       at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source) 
                       at android.app.Fragment.onInflate(Fragment.java:1373) 
                       at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2217) 
                       at android.app.FragmentController.onCreateView(FragmentController.java:98) 
                       at android.app.Activity.onCreateView(Activity.java:6070) 
                       at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:36) 
                       at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:766) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)  
                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)  
                       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)  
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:527)  
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:429)  
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:380)  
                       at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288)  
                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)  
                       at com.morticia.android.firstmap.MainActivity.onCreate(MainActivity.java:13)  
                       at android.app.Activity.performCreate(Activity.java:6876)  
                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)  
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)  
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)  
                       at android.app.ActivityThread.access$1100(ActivityThread.java:221)  
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)  
                       at android.os.Handler.dispatchMessage(Handler.java:102)  
                       at android.os.Looper.loop(Looper.java:158)  
                       at android.app.ActivityThread.main(ActivityThread.java:7224)  
                       at java.lang.reflect.Method.invoke(Native Method)  
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)  

Любые профессиональные идеи были бы весьма признателен

Спасибо!

+0

Ваш фрагмент внутри activity_main.xml не раздувается. Я это тебе полный код деятельности выше? И также разместите свой логарифм. –

+0

Спасибо! logcat добавлен – TJBlack31

+0

Logcat сообщает вам, что именно делать. Просто нужно прочитать его * полностью * –

ответ

1

заменить этот код на свой AndroidManifest.xml файл

<meta-data 
    android:name="com.morticia.android.maptest_app" 
    android:value="AIzaSyBf3tEmdR18S-2v0E1i1x0oqcXJ9imntT4" /> 

с

Google Maps Android API ENABLE

<meta-data android:name="com.google.android.maps.v2.API_KEY" 
    android:value="AIzaSyCv0EKZ7WxirSW0V-lrUI6zKt-8hl5QwRU" /> 

или

Google Maps Geolocation API ENABLE

<meta-data android:name="com.google.android.geo.API_KEY" 
android:value="AIzaSyBf3tEmdR18S-2v0E1i1x0oqcXJ9imntT4"/> 
+0

Это прогресс, поскольку я могу видеть пустую карту с логотипом Google в левом нижнем углу экрана, но карта пуста. – TJBlack31

+0

карта пуста, потому что вы не активировали карту google на консоли. –

+0

Это говорит мне, что есть ошибка авторизации: «Убедитесь, что включен« Google Maps Android API v2 ». Убедитесь, что существует следующий Android-ключ: ' – TJBlack31

0

R eplace android: name = "com.google.android.gms.maps.MapFragment" с class = "com.google.android.gms.maps.SupportMapFragment" и попробуйте.