web-dev-qa-db-ja.com

古いGoogle Play開発者サービス。 11011000が必要ですが、10289574が見つかりました

私は今、この問題に一週間ほど苦労しています。これについて同様のトピックを検索していますが、それでも私の問題を解決できません。

問題は、Polar m600ウェアまたはウェアエミュレーター(Android V 7.1.1およびAPI25)でプログラムを実行しようとすると、「Google Play servicesサービスが古い。11011000が必要ですが、10289574が見つかりました」というメッセージが表示されることです。 。

Android開発者サイトの「Getting the the Last Known Location」の部分に従いました。 (サイトへのリンク https://developer.Android.com/training/location/retrieve-current.html#play-services

ここに私が使用しているMainactivityコードがあります

public class MainActivity extends Activity {

private FusedLocationProviderClient mFusedLocationClient;
public Location mLastLocation;
private TextView mTextView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            mTextView = (TextView) stub.findViewById(R.id.text);
        }
    });

    mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
    if (ActivityCompat.checkSelfPermission(this, Android.Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Android.Manifest.permission.ACCESS_COARSE_LOCATION)
            != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    mFusedLocationClient.getLastLocation()
            .addOnSuccessListener(this, new OnSuccessListener<Location>() {
                @Override
                public void onSuccess(Location location) {
                    mLastLocation = location;
                    Log.d("Location is:",""+mLastLocation);

                    if (location != null) {

                    }
                }
            });

}
}

ここに私のmanifest.xmlがあります `

<uses-feature Android:name="Android.hardware.type.watch" />

<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />

<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:supportsRtl="true"
    Android:theme="@Android:style/Theme.DeviceDefault">
    <meta-data Android:name="com.google.Android.gms.version"
        Android:value="@integer/google_play_services_version" />
    <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>
</application>

そして最後になりましたが、私のbuild.gradle

Android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "ims.fhj.at.testnavigators"
    minSdkVersion 21
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
     }
  }
 }

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.Android.support:wearable:2.0.3'
compile 'com.google.Android.gms:play-services-wearable:11.0.1'
compile 'com.google.Android.gms:play-services:11.0.1'}
27
Foul.H

AndroidバージョンO-api 26-x86またはAndroidバージョンNougat-api 24-x86 Nexus 5x

enter image description here

次に、エミュレータの3つのドットをクリックすると、拡張されたウィンドウが開き、Google Play + updateをクリックします。そして、それはGoogle Play開発者サービスを11.0.55という最新のアップデートに今日アップデートします。

enter image description here

48
Uriel Frankel

ウェアラブルgradleファイルのAPIをダウングレードする必要があります。

問題は、デバイスに最新のGoogle Play Servicesアプリケーションがないことです。

これを修正するには、これに変更します。

compile 'com.google.Android.gms:play-services-wearable:10.0.0'
compile 'com.google.Android.gms:play-services:10.0.0'
2
Vyacheslav

私の解決策は非常に奇妙です:Goto Settings-> Apps-> System Apps-> Google Play Store私のバージョンは10xxxxxでしたが、起動時に時計が更新されたため奇妙です。そこで、[更新の削除]をクリックして、バージョンを11xxxxxxに変更しました。

2
AccTest

ここでの問題は、エミュレーターとgradleファイルのGoogle Playサービス(バージョン)の不一致です。

次の2つの方法で解決できます。

  1. gradleファイルのGoogle Play Servicesのバージョン(バージョン)をエミュレータのGoogle Play Services(バージョン)にダウングレードして、不一致を削除します。

  2. エミュレータのGoogle Play Servicesをアップグレードします。

1

Stringが書いたように、Playサービスはデバイス上で更新されません。残念ながら、WearOSの世界では、Playサービスが最新のものである可能性がありますが、ウェアラブルでは利用できません。その場合、次の方法を使用して対応できます。

GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
int result = apiAvailability.isGooglePlayServicesAvailable(this);
if (result != ConnectionResult.SUCCESS) {
    ... 
} else {
     apiAvailability.getErrorDialog(this, result, REQUEST_CODE,this).show();
}
0
promanowicz

これは何年もの間、Wearの継続的な問題でした(たとえば Android Wear Google Play Services を参照)。

最善の解決策は、最新のPlay Servicesリリースを使用しないことです。 1つのオプションは、対象の実稼働デバイスをカバーしていると思われる最小バージョンを見つけることです。あなたの場合、これは10.2の範囲にあるように聞こえます。または、必要なすべての機能を含む最も低いリリースを選択します(私は個人的に9.8.0を使用しています)。

参照用に、Playサービスのリリース履歴を以下に示します。 https://developers.google.com/Android/guides/releases

0
String

間違ったweb-client-id値を渡すと、このエラーが発生することがあります

val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(**web-client-id here**)
                .requestEmail()
                .build()

Use the value in the OAuth client id section indicated Web client (auto created by google service)

OAuthクライアントIDセクションの値を使用して、Webクライアントを示します(Googleサービスによって自動作成されます)

0
Jeffrey Nyauke

エミュレータが使用しているイメージのGoogle Play ServicesとAPIをアップグレードする必要があります。この答えをチェックして、私のために解決しました(Android Studio 3.1): https://stackoverflow.com/a/49751932/2292056

0
Almir Filho