我的代码中有一个地图片段。当我使用'运行应用程序'在Android工作室它工作正常。但是当我将其导出为签名的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时,该错误才会发生。否则地图运行正常。
谢谢。
答案 0 :(得分:1)
用你的应用程序中的release key替换map的debug api键。之后只有一个release apk会显示一个google map。
答案 1 :(得分: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"/>
现在工作正常