Android PlaceAutoComplete在已签名的apk中不工作

Android PlaceAutoComplete在已签名的apk中不工作,android,apk,google-places-api,Android,Apk,Google Places Api,我有一个很奇怪的问题。PlaceAutoComplete在我的调试apk中运行良好。但现在在我的签名apk中,自动完成框架显示,但如果我键入任何内容,它将返回到上一屏幕,而不执行任何操作。以下是我的主要活动的片段: try { Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAu

我有一个很奇怪的问题。PlaceAutoComplete在我的调试apk中运行良好。但现在在我的签名apk中,自动完成框架显示,但如果我键入任何内容,它将返回到上一屏幕,而不执行任何操作。以下是我的主要活动的片段:

                    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.
                    }
顺便说一句,没有祝酒词,所以我不确定问题是否存在

我的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\u NETWORK\u STATE和READ\u GSERVICES。我在StackOverflow上阅读了这里的内容后添加了这2项,它解决了一些用户的问题

这真的让我抓狂。有没有任何库我需要添加到我的生产apk中?它的大小似乎比调试的要小1 mb

提前谢谢


请注意,API密钥很好,因为它在调试模式下工作

问题是两方面的组合-

1) 如评论中所述,发布密钥不可用--但是,我只想补充一点,您不需要PROD使用其他API密钥,但可以将您的签名指纹添加到现有API(请参阅链接)

2) 我必须将API密钥添加到发布版/google_maps_API.xml中,正如回答中提到的-

希望这对其他人也有帮助


感谢所有帮助您的人

您需要为发布apk使用不同的API密钥。有关更多信息,请查看此链接@zooter:您使用了释放api密钥吗?如果是,请检查您的progaurd配置。如果没有混淆,请放置自动完成api@andigeeky我该如何检查proguard是否正在模糊自动完成,如果是,我该如何停止它?@zooter:如果您在详细信息中遇到任何异常,或者您收到任何类似a.b()的信息,您需要检查您的Android监视器等等@zooter:我认为您需要创建发布apl,将
progaurd
设置为
false
,并检查是否工作:)