PlaceAutoComplete无法在签名的apk中使用

时间:2016-04-25 04:10:30

标签: android apk google-places-api

我有一个非常奇怪的问题。 PlaceAutoComplete在我的调试apk中工作正常。但是现在在我签名的apk中,自动完成片段会显示,但是如果我输入任何内容,它只会返回上一个屏幕而不做任何事情。以下是我的MainActivity的片段:

                    try {

                        Intent intent =
                                new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)
                                        .build(MainActivity.this);

                        startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_START);
                    }catch(GooglePlayServicesRepairableException e){
                        // TODO: Handle the error.
                        Toast.makeText(MainActivity.this, "Error in GooglePlayServicesRepairable", Toast.LENGTH_LONG).show();
                    }catch(GooglePlayServicesNotAvailableException e){

                        Toast.makeText(MainActivity.this, "Error in PlayServiesNotAvbl", Toast.LENGTH_LONG).show();
                        // TODO: Handle the error.
                    }

顺便说一下,Toast的消息都没有,所以我不确定问题是否存在。

我的AndroidManifest文件如下所示,用于权限

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

(不确定是否需要ACCESS_NETWORK_STATE和READ_GSERVICES。我在StackOverflow上阅读之后添加了这两个,它解决了一些用户问题

这真让我疯了。有没有我需要添加到我的制作apk的库?大小似乎比调试的大约少1 MB ....

提前致谢

请注意,API密钥很好,因为在调试模式下可以正常工作

1 个答案:

答案 0 :(得分:1)

问题是两件事的结合 -

1)发布密钥无法在评论中提及 - https://developers.google.com/places/android-api/signup#release-cert - 但是,我只是想补充一点,您不需要为PROD提供不同的API密钥,但可以添加您签名的指纹到现有API(请参阅链接)

2)我必须将API密钥添加到release / google_maps_api.xml中,如此答案所述 - https://stackoverflow.com/a/30559898/5662769

希望这也有助于其他人

感谢所有帮助过的人