web-dev-qa-db-ja.com

エラー:リソースinteger / google_play_services_version(別名app:integer / google_play_services_version)が見つかりません

プロジェクトのコンパイルまたは実行中にエラーが発生しました。移動した距離を計算したい。私のAndroidスタジオのバージョンはAndroidスタジオ3.1.4です。

Build.gradle(Model:app)に次のライブラリを追加すると、このエラーが発生します。

implementation 'com.google.Android.gms:play-services-location:12.0.1'

次のファイルでエラーが発生しています:

...\app\build\intermediates\manifests\full\debug\AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="shravan.measuredistance.app"
Android:targetSandboxVersion="2"
Android:versionCode="1"
Android:versionName="1.0" >

<uses-sdk
    Android:minSdkVersion="15"
    Android:targetSdkVersion="26" />

<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />

<application
    Android:name="Android.support.multidex.MultiDexApplication"
    Android:allowBackup="true"
    Android:debuggable="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:roundIcon="@mipmap/ic_launcher_round"
    Android:supportsRtl="true"
    Android:testOnly="true"
    Android:theme="@style/AppTheme" >
    <meta-data
        Android:name="aia-compat-api-min-version"
        Android:value="1" />
    <meta-data
        Android:name="Android.support.VERSION"
        Android:value="26.1.0" />
    <meta-data
        Android:name="Android.Arch.lifecycle.VERSION"
        Android:value="27.0.0-SNAPSHOT" />

    <activity
        Android:name="shravan.measuredistance.distance.MainActivity"
        Android:splitName="distance" >
        <intent-filter Android:order="1" >
            <action Android:name="Android.intent.action.VIEW" />

            <category Android:name="Android.intent.category.BROWSABLE" />
            <category Android:name="Android.intent.category.DEFAULT" />

            <data
                Android:Host="www.atjoin.in"
                Android:pathPattern="/.*"
                Android:scheme="https" />
        </intent-filter>
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service
        Android:name="shravan.measuredistance.distance.LocationService"
        Android:splitName="distance" />

    <activity
        Android:name="com.google.Android.gms.common.api.GoogleApiActivity"
        Android:exported="false"
        Android:splitName="distance"
        Android:theme="@Android:style/Theme.Translucent.NoTitleBar" />

    <meta-data
        Android:name="com.google.Android.gms.version"
        Android:value="@integer/google_play_services_version" />
</application>

これについて提案をください。ありがとう。

8
Shravan

同じ問題がありました。 Play ServicesライブラリをアプリのGradleファイルに追加します。 'com.google.Android.gms:play-services:9.2.1'以降のバージョンの実装。その後、再構築します。

8
Osoro

解決策のどれも私を助けませんでした、

キャッシュをクリアしました。おかげで gradleキャッシュをクリアする方法?

次のコマンドを使用してキャッシュをクリアしました。

rm -rf $HOME/.gradle/caches/

また、私は実行中のビルドディレクトリをクリアしました

./gradlew cleanBuildCache

ビルドディレクトリを手動で削除しました

私は再びassableを実行しました、そしてapkは正常に生成されました:)

./gradlew assemble
1

これをマニフェストのパッケージ名の前に追加します

xmlns:tools="http://schemas.Android.com/tools"

以下のコードをマニフェストに追加してください

<application
    ...............
    >
<meta-data
        tools:replace="Android:value"
        Android:name="com.google.Android.gms.version"
        Android:value="@integer/google_play_services_version" />

最後に、build.gradleにGoogleサービスのプラグインとクラスパスを追加してください。

apply plugin: 'com.google.gms.google-services' (add to module)
classpath 'com.google.gms:google-services:4.0.1' (add to project)

これにより、プロジェクト内の他のライブラリとのGoogleサービスの競合が無視されます

1
Yusuf folahan