2016-11-09 52 views
0

我不斷收到錯誤消息「Can not resolve symbol'api'。」 我正在研究使用Google Places API跟蹤用戶位置的應用程序。我一直試圖讓它起作用,但是我的進口聲明給了我麻煩。我看了不同的地方,我發現的所有來源告訴我不同​​的東西,如...無法導入com.google.api.client.http。*無法解析符號'api'

  1. 把「compile」com.google.android.gms:play-services:9.8.0 '「在build.gradle中。這通常會導致項目無法同步。我在這方面進行了一些研究,並提到了我必須更改SDK,但看起來並不太有希望。
  2. 在build.gradle中放置「useLibrary'org.apache.http.legacy'」。這有助於第一條導入語句的工作(「import org.apache.http.client.HttpResponseException;」),但不是其他的。

我在我的代碼中有以下import語句。

import org.apache.http.client.HttpResponseException; 
import com.google.api.client.googleapis.GoogleHeaders; 
import com.google.api.client.http.GenericUrl; 
import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestFactory; 
import com.google.api.client.http.HttpRequestInitializer; 
import com.google.api.client.http.HttpTransport; 
import com.google.api.client.http.javanet.NetHttpTransport; 
import com.google.api.client.http.json.JsonHttpParser; 
import com.google.api.client.json.jackson.JacksonFactory; 
import com.google.android.gms.common.api.GoogleApiClient; 
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener; 

這是的build.gradle的樣子:

android { 
    useLibrary 'org.apache.http.legacy' 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 
    defaultConfig { 
     applicationId "tech.pattullo.teamzero" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    //compile 'com.google.android.gms:play-services:9.8.0' 
    //compile 'com.google.android.gms:play-services:7.2.0' 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.0.0' 
    testCompile 'junit:junit:4.12' 
} 

我還沒有確定其中有多少我確實需要,但我不知道如何去解決這個錯誤帶'api'符號的消息。有什麼建議麼?

回答

0

如果你想要谷歌的地方,你只需要這個。您無需編譯每一個Google Play服務。

com.google.android.gms:play-services-places:9.8.0 

如果你想定位跟蹤,我認爲你需要的位置API,而不是地方

com.google.android.gms:play-services-location:9.8.0 

我不知道爲什麼你需要Apache HTTP,但似乎無關的電流誤差

+0

好的。我忘了提及我們的目標是棒棒糖。我們是否必須針對牛軋糖使用遊戲服務場所:9.8.0? –

+0

不是我所知道的。隨意使用你需要的版本。 –

+0

所以我這樣做,它適用於:導入「com.google.android.gms.common.api.GoogleApiClient;」 &「import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;」但不是其他的 –