PlaceAutoComplete 在已签名的 apk 中不起作用

PlaceAutoComplete not working in signed apk

我有一个很奇怪的问题。 PlaceAutoComplete 在我的调试 apk 中运行良好。但现在在我签名的 apk 中,自动完成碎片显示,但如果我输入任何内容,它只是 returns 返回上一个屏幕而不做任何事情。这是我的 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.
                    }

顺便说一句,none 个 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。我在 Whosebug 上阅读此处解决了一些用户问题后添加了这两个

这真让我抓狂。我需要将任何库添加到我的生产 apk 中吗?大小似乎比调试的小了将近 1 MB....

提前致谢

请注意,API 键在调试模式下同样有效

问题是两件事的结合 -

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

2) 我必须将 API 键添加到 release/google_maps_api.xml 中,如该答案所述 -

希望这对其他人也有帮助

感谢所有提供帮助的人