2015-04-01 4 views
0

У меня есть фрагмент карт в моем коде. Когда я запускаю его, используя «Запустить приложение» в студии Android, он отлично работает. однако, когда я экспортирую его как подписанный apk, тот же код не отображает карту. Все, что я получаю, это пустой экран с логотипом google в левом нижнем углу.android app перестает работать, когда я экспортирую его как apk

это мой код:

 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { 
      fm = getActivity().getSupportFragmentManager(); 
     } else { 
      fm = getChildFragmentManager(); 
     } 
     mMap = ((SupportMapFragment) fm.findFragmentById(R.id.map)).getMap(); 

И мой фрагмент:

<fragment 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:id="@+id/map" 
tools:context="schoolbus.tracker.datavoice.schoolbusdrawer.MapsFragment" 
android:name="com.google.android.gms.maps.SupportMapFragment" /> 

я также попытался getChildFragmentManager(), getSupportFragmentManager, но ничего не получалось.

еще раз ошибка возникает, когда я устанавливаю ее как подписанный apk. в противном случае карты работают нормально.

спасибо.

+5

Заменили вы отладки API ключ карты с ключом освобождения в вашем приложении ion. После этого только релиз apk отобразит карту google –

ответ

1

я, наконец, получил это работает, я изменил

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

с

<meta-data 
android:name="com.google.android.geo.API_KEY" 
android:value="my-key"/> 

И добавил:

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 

его работы отлично теперь

1

Замените ключ отладки api на карту с ключом освобождения в вашем приложении. После этого только релиз apk отобразит карту google.

+0

Привет, я дважды проверил ключ api, но он пока не отображается. Я перешел по этой ссылке: Чтобы получить ее, перейдите по этой ссылке, следуйте инструкциям и нажмите «Создать» в конце: https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r= –

+0

обычно эта ситуация случается для недействительного ключа выпуска, был ли ваш отпечаток пальца правильно? Пожалуйста, перепроверьте его. –

+0

Я следил за учебником на этой странице: http://android-er.blogspot.in/2012/12/displaying-sha1-certificate-fingerprint .html. и я ввел свой отпечаток пальца. но карта по-прежнему не отображается –

Смежные вопросы