Android Google Place Picker在签名APK中工作,但在Live应用中无效

Android Google Place Picker在签名APK中工作,但在Live应用中无效,第1张

概述我有一个应用程序,其中我使用了GooglePlacePicker.我面临着一个非常奇怪的问题.当我使用我的应用程序的密钥库创建签名APK时,PlacePicker工作得非常好.我通过GooglePlayStore上传了相同的APK.当我打开PlacePicker时它会自动关闭.我已经在网上阅读了很多评论,也在SO中.但是我无

我有一个应用程序,其中我使用了Google Place Picker.我面临着一个非常奇怪的问题.当我使用我的应用程序的密钥库创建签名APK时,Place Picker工作得非常好.我通过Google PlayStore上传了相同的APK.当我打开Place Picker时它会自动关闭.我已经在网上阅读了很多评论,也在SO中.但是我无法确定为什么它在签名APK中运行良好,而且Google PlayStore上的相同APK无效.

当我检查Google PlayStore的liVE应用程序的日志时,它会给出如下错误:

Volley : [198] BasicNetwork.performRequest: Unexpected response code 403for https: //www.GoogleAPIs.com/placesandroID/v1/search?key=MY_KEY/ ? V / ConnectivityManager : isActiveNetworkMetered() returns: true/ ? E / Asyncoperation : serviceID = 65, operation = SearchPlacesOperationException[Status { statusCode = PLACES_API_INVALID_APP, resolution = null}]

我已经在我的Google Developer Console中检查过我的密钥是否相同.我还检查了我从KeyStore文件创建的SHA.一切都很好(否则它也不适用于签名APK,如果有任何错误).

以下是我从我的Activity中调用Place Picker的方法

int PLACE_PICKER_REQUEST = 999;PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);

这是我的AndroIDManifest.xml文件,我在其中提供了我的API密钥,这些元数据是应用程序标记.

<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"    package="com.example" >    // ALL PERMISSIONS ARE HERE    <application        androID:allowBackup="true"        androID:icon="@drawable/ic_launcher"        androID:label="@string/app_name"        androID:theme="@style/Apptheme" >        <activity            androID:name=".MainActivity"            androID:label="@string/app_name" >            <intent-filter>                <action androID:name="androID.intent.action.MAIN" />                <category androID:name="androID.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <Meta-data                        androID:name="com.Google.androID.geo.API_KEY"            androID:value="@string/MY_KEY" />    </application></manifest>

有删除了自动生成的“release / values / Google_maps_API.xml”的文件.正如我已经将我的API密钥提到了string.xml中,所以我从发布包中删除了整个值包.

谁能告诉我这有什么问题?

解决方法:

经过几天的投入时间来寻找这个问题的解决方案.最后我得到了解决方案.这是因为Google Play App Signing
.

With Google Play App Signing: You sign your app with your upload key.
Then, Google verifIEs and removes the upload key signature. Finally,
Google re-signs the app with the original app signing key you provIDed
and delivers your app to the user.

因此,当我为“Google Places API for AndroID”创建API密钥时,我使用我的软件包名称和签名APK的KeyStore的SHA-1限制了该密钥.

现在这是在“上传证书”下并且没有使用,因为我必须将我的App歌曲证书的SHA-1传递给Google Developer Console.在这之后我的Google PlayStore的实时应用程序的Google PlacePicker运行良好.

总结

以上是内存溢出为你收集整理的Android Google Place Picker在签名APK中工作,但在Live应用中无效全部内容,希望文章能够帮你解决Android Google Place Picker在签名APK中工作,但在Live应用中无效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存