2013-11-09 88 views
85

我正在關注本教程:https://developers.google.com/maps/documentation/android/start#overview 關於如何將Google地圖添加到Android SDK中的應用程序。將Google Play服務版本添加到應用的清單中?

唯一的問題,我似乎有是此位時(我所做的一切沒有任何錯誤):

Edit your application's AndroidManifest.xml file, and add the following declaration within the 

<application> element. This embeds the version of Google Play services that the app was compiled with. 

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

The error is: 
    No resources found that match the given name (at 'value' with value '@integer/  
    google_play_services_version'). 

我試圖按照此人解決同樣的問題:Google Play Services Library update and missing symbol @integer/google_play_services_version

但我仍然收到相同的錯誤。請幫忙嗎?

+0

如果Eclipse給你帶來麻煩,試試這樣做:http://stackoverflow.com/a/19990244/166921 –

回答

97

這可能是你的庫沒有鏈接到正確的項目,或者你有舊的Google Play服務庫的版本,所以出現衝突和Eclipse傻了..: S

不,您不需要在integers.xml中添加任何內容。當您正確鏈接Google-play-services庫到您的項目時,將會找到android:value="@integer/google_play_services_version",您就可以開始使用了。當您將庫添加到項目中時,只需再做一次乾淨如此有趣的Eclipse環境就可以正確地掃描事物。

如果您在下一個播放版本到來時將此編號硬編碼到某處,您需要更新它。如果你忘記了,你會花時間再次尋找bug ..:S

希望它有幫助。 ;)

+1

是的,在Android工作室我已經添加谷歌播放服務作爲一個模塊(而不是一個庫),但我忘了添加這個模塊到清單文件所在的項目模塊。這解決了這個問題:) – Ragaisis

+18

謝謝,這解決了我的問題。有關在Eclipse/ADT中引用庫項目的傻瓜式分步指南,請參閱[Google Tools文檔](http://developer.android.com/tools/projects/projects-eclipse.html# ReferencingLibraryProject)。我顯然是一個白癡,因爲我試圖在「Java Build Path:Libraries」下添加這個庫 - 沒有用處。 – Jeffro

+0

對不起,遲到的回覆,但是,這是問題,圖書館沒有正確鏈接到我的項目! – Adz

-36

您需要將「integers.xml」文件添加到項目的「res/values」文件夾中。該文件的內容應該是..

<resources> 
    <integer name="google_play_services_version">4030500</integer> 
</resources> 
+6

永遠不會這樣做,它不是動態的。 – panchicore

+2

這是完全錯誤的事情。請參閱Ewoks的答案,http://stackoverflow.com/a/20068489/1450294 –

30

here

你應該引用您複製到您的 開發庫的副本的工作區,你不應該從Android SDK目錄引用庫 直接。

我遇到了這個錯誤,因爲我從SDK目錄引用了原始副本。確保您首先將庫複製到android工作區並僅引用它。在eclipse中,您可以通過在導入項目時選中「複製項目到工作區」來完成。

+3

aiaiai,因爲沒有勾選這個盒子而浪費了時間......很高興我找到了這個答案!在Google文檔中應該更清楚。 –

+0

這就是我的問題,除了源文件夾的谷歌lib沒有複製到我的工作區 – OmarBizreh

+0

此修復程序也爲我工作,所有的一切都被引用。但不知道技術上有什麼區別? – sivag1

0

您可以更改工作區,比解決這個問題,比進口的固定項目回到你的主要工作區。此外,這4個步驟應該是爲了希望它可以幫助未來的人。

2

在我的情況下,我不得不從SDK經理安裝谷歌存儲庫。

1

我得到了同樣的錯誤;我以前安裝谷歌地圖谷歌播放服務_lib(和它工作正常),但後來當我後來嘗試添加元數據條目到我的清單我得到的錯誤。我嘗試了所有上述建議,但沒有任何關聯它們。我終於從我的項目中刪除了鏈接(project-properties-Android,刪除google-play-services_lib庫),然後從Eclipse工作區中刪除,刪除了磁盤上的文件,最後使用SDK管理器從頭重新安裝。

這似乎終於做到了;現在Eclipse已經決定允許我毫無錯誤地離開元數據輸入。

+0

我有同樣的錯誤,我的工作區中的google-play-services lib副本是舊的(所以不包含整數資源),並用更新後的版本替換這些庫也有訣竅。 –

37

我得到了解決方案。

  • 第1步:右鍵單擊在Package Explorer中的項目(左側在Eclipse)
  • 第2步:轉到Android系統。
  • 第3步:在庫部分添加庫...(谷歌播放services_lib)
    見下文巴茨

    • 複製在

    <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

      庫項目
    • 到您維護您的Android應用項目的位置。 如果您正在使用Eclipse,請將庫項目導入到您的工作區中。單擊文件>導入,選擇Android>現有的Android代碼到工作區,然後瀏覽到該庫項目的副本以導入它。
    • Click Here欲瞭解更多信息。
  • 第4步:單擊應用
  • 第5步:點擊OK
  • 第6步:從包資源管理器應用程序刷新你的。
  • 第7步:你會看到錯誤消失。
0

當您下載新版本的Google Play服務並且未安裝最新的SDK時,也會發生此錯誤。那就是發生在我身上的事情。因此,正如其他人所提到的,如果您嘗試導入Google Play服務並打開控制檯,則會看到編譯錯誤。嘗試安裝所有最新的Android SDK並重試,如果是這樣的話。

20

在Android Studio中,你可以通過簡單地添加以下內容到搖籃文件解決此問題:

compile 'com.google.android.gms:play-services:6.5.87' 

編輯

現在,由於更新,你應該使用的線是:

compile 'com.google.android.gms:play-services:9.0.0' 
+0

謝謝 - 這有幫助。我試圖做這個教程,遇到了這個錯誤,你的解決方案幫了我:https://github.com/googledrive/android-demos – Simon

+1

我只需要在gradle sync之後清理項目,並且缺少整數錯誤消失了。這很有效:'編譯'com.google.android.gms:play-services-appindexing:7.8.0'' –

0

我做了以下步驟以從中恢復:

1)將google play服務作爲項目導入到您的android sdk中。在我的系統中,它在 Ç發現:\ ADT-束 - 窗口x86_64-20140702 \ SDK \演員\谷歌\ google_play_services \ libproject \的Google Play-services_lib

2)你的Android應用程序 - >屬性 - >安卓

在窗口

2.1),點擊項目建設目標 2谷歌的API。2)在底部添加谷歌播放服務,並點擊確定

希望它給出了明確的指示,在做什麼!

謝謝。

0

替換版本的代碼庫版本適當的代碼將解決您的問題,如:

<integer name="google_play_services_version"> <versioncode> </integer> 
7

只需添加庫引用,去Propertes - >Android,然後添加庫。

enter image description here

然後添加到您AndroidManifest.xml

<meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
+0

這是正確的答案,其他人只是建議清理.. – Siddharth

-3

來代替直接用作

android:value="6587000" 

android:value="@integer/google_play_services_version" 

乾杯。

+0

請參閱上面的接受的答案(http:// stackoverflow.com/a/20068489/165164)爲什麼這是一個壞主意。 –

0

就我而言,我需要給谷歌,播放services_lib文件夾複製我的應用程序的源代碼

  • F的同一個驅動器:\產品\ Android的\ APP *的.java < - 我應用程序是在這裏,所以我複製到文件夾下面
  • F:\產品\的Android \庫\的Google Play-services_lib
3

我有同樣的問題在Android Studio中1.2.1.1。這只是說了其他答案,但是,我無法找到添加依賴關係的位置。最後,我發現它在文件 - >項目結構 - >依賴關係 此菜單將爲您提供添加依賴到Google Play服務庫的選項。

+0

+1幫助您瞭解AS 1.2中的模糊導航。謝謝! 在我的情況下,它並沒有幫助我正在從另一個開發者手中接過一個項目,並且從未使用SDK管理器實際安裝過正確版本的播放服務庫:$。 一旦我下載/安裝了庫,然後我又回去了/再次添加和編譯錯誤消失。 –

0

只需從項目中刪除谷歌播放服務庫,並再次從sdk->extras->google文件夾中添加解決我的問題完美。

0

對於我的情況,我只是重新啓動我的Eclipse,它的工作原理。

我一直工作了2個星期沒有關閉它,我認爲它會出現故障。

感謝您通過Ewoks的建議!

相關問題