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