Menambahkan versi layanan Google Play ke manifes aplikasi Anda?

88

Saya mengikuti tutorial ini: https://developers.google.com/maps/documentation/android/start#overview tentang cara menambahkan Google Maps ke aplikasi dalam Android SDK.

Satu-satunya masalah yang tampaknya saya alami adalah selama bagian ini (saya telah melakukan segalanya tanpa kesalahan):

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').

Saya telah mencoba mengikuti solusi orang ini untuk masalah yang sama: Pembaruan Perpustakaan Layanan Google Play dan simbol yang hilang @ integer / google_play_services_version

tapi saya masih mendapatkan kesalahan yang sama. Tolong bantu?

Kapak
sumber
Jika Eclipse membuat Anda kesulitan, coba lakukan ini: stackoverflow.com/a/19990244/166921
Kamil Szot

Jawaban:

100

Mungkin pustaka Anda tidak ditautkan ke proyek dengan benar atau Anda memiliki versi pustaka layanan google-play yang lebih lama sehingga konflik muncul dan Eclipse menjadi bodoh ..: S

Tidak, Anda tidak perlu menambahkan apa pun di integers.xml. Ketika Anda menautkan dengan benar pustaka Google-play-services ke referensi proyek Anda android:value="@integer/google_play_services_version"akan ditemukan dan Anda siap untuk pergi. Ketika Anda menambahkan perpustakaan ke proyek Anda, cukup lakukan satu lagi yang bersih sehingga lingkungan Eclipse yang lucu menyapu semuanya dengan benar.

Jika Anda melakukan hardcode di suatu tempat nomor ini ketika versi putar berikutnya datang, Anda perlu memperbaruinya. Dan jika Anda lupa itu, Anda akan menghabiskan waktu lagi untuk mencari bug ..: S

Semoga membantu. ;)

Ewoks
sumber
1
ya, di studio android saya telah menambahkan layanan google play sebagai modul (bukan sebagai perpustakaan), tetapi saya lupa menambahkan modul ini ke modul proyek saya di mana file manifes berada. Ini memecahkan masalah :)
Ragaisis
18
Terima kasih, ini memperbaiki masalah saya. Untuk panduan langkah demi langkah yang sangat idiot dalam mereferensikan proyek perpustakaan di Eclipse / ADT, lihat dokumen Alat Google . Tampaknya saya idiot, karena saya mencoba menambahkan pustaka di bawah "Java Build Path: Libraries" - tidak berguna.
Jeffro
Maaf atas jawaban yang terlambat, tapi ya, inilah masalahnya, perpustakaan tidak terhubung dengan benar ke proyek saya!
Adz
1
Bagaimana melakukan itu untuk Ant?
Dzmitry Lazerka
2
Jika membantu, saya harus mengambil beberapa langkah lagi di Android Studio. Pergi ke: Project Structure -> App -> Dependencies -> klik + untuk menambahkan opsi untuk Library -> play-services (xxx). Saya mendapat kesalahan ketika saya membangun kembali dan perpustakaan yang ditambahkan adalah layanan bermain ... 0,0. Saya kehilangan Google Play Repositories dari SDK Manager di bawah Ekstra. Ketika saya kembali dan mengulangi langkah-langkah tersebut Perpustakaan sekarang memiliki nomor versi yang sebenarnya dan berhasil dibangun kembali.
natur3
36

Saya mendapatkan solusinya.

  • Langkah 1: Klik kanan pada proyek Anda di Package explorer (sisi kiri di gerhana)
  • Langkah 2: Buka Android.
  • Langkah 3: Di bagian Library Add Library ... (google-play-services_lib)
    lihat di bawah buttes

    • Salin proyek perpustakaan di

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

    • ke lokasi tempat Anda mengelola proyek aplikasi Android. Jika Anda menggunakan Eclipse, impor proyek perpustakaan ke ruang kerja Anda. Klik File> Impor, pilih Android> Kode Android yang Ada ke Ruang Kerja, dan telusuri salinan proyek perpustakaan untuk mengimpornya.
    • Klik Di Sini Untuk lebih lanjut.
  • Langkah 4: Klik Terapkan
  • Langkah 5: Klik ok
  • Langkah 6: Segarkan aplikasi Anda dari Package Explorer.
  • Langkah 7: Anda akan melihat kesalahan hilang.
Vrajesh
sumber
30

Dari sini

Anda harus mereferensikan salinan library yang Anda salin ke ruang kerja pengembangan — Anda tidak boleh mereferensikan library tersebut secara langsung dari direktori Android SDK.

Saya menghadapi kesalahan ini karena saya mereferensikan salinan asli dari direktori SDK. Pastikan Anda terlebih dahulu menyalin pustaka ke ruang kerja android dan hanya mereferensikannya. Di gerhana Anda dapat melakukannya dengan mencentang "Salin proyek ke ruang kerja" saat mengimpor proyek.


sumber
3
aiaiai, menghabiskan waktu berjam-jam karena tidak mencentang kotak ini ... senang saya menemukan jawaban ini! Harus lebih jelas di Dokumentasi Google.
Marius Hilarious
Dan itulah masalah saya, semuanya direferensikan sebagaimana mestinya kecuali untuk folder sumber google lib tidak disalin ke ruang kerja saya
JustADev
Perbaikan ini juga berhasil untuk saya. Tapi bertanya-tanya apa bedanya secara teknis?
sivag1
Google harus memperbarui tangkapan layar / petunjuk di sini: developers.google.com/+/mobile/android/getting-started
ban-geoengineering
22

Di Android Studio, Anda bisa memperbaikinya hanya dengan menambahkan ini ke file Gradle Anda:

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

EDIT

Sekarang, karena adanya pembaruan dan API Gradle baru, baris yang harus Anda gunakan adalah:

implementation 'com.google.android.gms:play-services:12.0.0'

Satu lagi tip penting : Hindari menggunakan versi paket Layanan Google Play, tetapi pertimbangkan untuk menyatakan hanya dependensi yang diperlukan aplikasi Anda untuk mengurangi ukurannya serta mengurangi klik yang tidak perlu hingga batas metode 65 ribu. Sesuatu seperti (yaitu untuk Maps) ini akan lebih baik daripada penggunaan layanan bermain umum di atas:

implementation 'com.google.android.gms:play-services-maps:12.0.0'
Joaquin Iurchuk
sumber
Terima kasih - ini membantu. Saya mencoba melakukan tutorial ini dan mengalami kesalahan ini dan solusi Anda membantu saya: github.com/googledrive/android-demos
Simon
1
Saya hanya perlu membersihkan proyek, setelah sinkronisasi gradle, dan kesalahan bilangan bulat yang hilang hilang. Ini bekerja dengan baik juga:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
Someone Somewhere
2
Saya tahu ini adalah Tanya Jawab lama tetapi orang-orang masih tersandung, jadi masuk akal untuk memperbaruinya ke API AS3 & Gradle baru dan untuk menekankan dorongan untuk menggunakan pustaka tertentu daripada seluruh bundel. Saya harap penulis asli tidak keberatan
Ewoks
7

Cukup tambahkan referensi perpustakaan, buka Propertes-> Android, lalu tambahkan perpustakaan.

masukkan deskripsi gambar di sini

lalu tambahkan ke dalam dirimu AndroidManifest.xml

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

Saya mengalami masalah yang sama di Android Studio 1.2.1.1. Itu hanya liske jawaban lain berkata, namun, saya tidak dapat menemukan di mana menambahkan dependensi. Akhirnya saya menemukannya di bawah File-> Struktur proyek-> Ketergantungan Menu ini akan memberi Anda opsi untuk menambahkan ketergantungan ke pustaka Layanan Google Play.

7heViking
sumber
1 untuk bantuan navigasi yang tidak jelas di AS 1.2. Terima kasih! Itu tidak membantu, dalam kasus saya, bahwa saya sedang mengerjakan proyek yang diserahkan dari pengembang lain dan tidak pernah benar-benar menginstal versi yang benar dari pustaka layanan bermain menggunakan pengelola SDK: $. Setelah saya mengunduh / menginstal perpustakaan, kemudian saya kembali dan menghapus / menambahkan lagi dan kesalahan kompilasi hilang.
Anne Gunn
2

Dalam kasus saya, saya harus menginstal repositori google dari manajer SDK.

MarcSB
sumber
1

Saya mendapatkan kesalahan yang sama; Saya sebelumnya telah menginstal google-play-services_lib untuk Google Maps (dan berfungsi dengan baik) tetapi kemudian ketika saya mencoba menambahkan entri meta-data ke Manifest saya, saya mendapatkan kesalahan. Saya mencoba semua saran di atas tetapi tidak ada yang dapat menghubungkannya dengan benar; Saya akhirnya menghapus tautan dari proyek saya (proyek-properti-Android, menghapus pustaka google-play-services_lib), lalu menghapus dari ruang kerja Eclipse, menghapus file di disk, dan akhirnya menggunakan pengelola SDK untuk menginstal ulang dari awal.

Itu sepertinya akhirnya berhasil; sekarang Eclipse telah memutuskan untuk mengizinkan saya meninggalkan entri meta-data tanpa kesalahan.

dgiles
sumber
Saya mengalami kesalahan yang sama, salinan lib google-play-services di ruang kerja saya sudah lama (jadi tidak berisi sumber daya integer), dan mengganti lib dengan versi yang diperbarui berhasil.
Bianca Daniciuc
0

Anda dapat mengubah ruang kerja dan kemudian memperbaiki masalah itu dan kemudian mengimpor proyek tetap kembali ke ruang kerja utama Anda. Juga 4 langkah harus dilakukan agar dapat membantu seseorang di masa depan.

sivi
sumber
0

Kesalahan ini juga dapat terjadi jika Anda mengunduh versi baru Layanan Google Play dan tidak memasang SDK terbaru. Itulah yang terjadi padaku. Jadi, seperti yang disebutkan orang lain, jika Anda mencoba mengimpor Layanan Google Play dan kemudian membuka konsol, Anda akan melihat kesalahan kompilasi. Coba instal semua SDK Android terbaru dan coba lagi, jika ini masalahnya.

UtsavShah
sumber
0

Saya melakukan langkah-langkah berikut untuk pulih dari ini:

1) Impor layanan google play sebagai proyek ke sdk android Anda. Di sistem saya, ini ditemukan di C: \ adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib

2) Aplikasi android Anda-> properti -> android

Di jendela

2.1) Klik pada Google API di project build target 2.2) Tambahkan layanan google-play di bingkai bawah dan klik OK

Semoga memberikan instruksi yang jelas tentang apa yang harus dilakukan !!

Terima kasih.

pravs
sumber
0

Dalam kasus saya, saya perlu menyalin FOLDER google-play-services_lib di DRIVE yang sama dari kode sumber aplikasi saya

  • F: \ Products \ Android \ APP * .java <- Aplikasi Saya ada di sini jadi saya salin ke folder di bawah
  • F: \ Products \ Android \ libs \ google-play-services_lib
fedmich
sumber
0

Cukup menghapus pustaka layanan google play dari proyek dan menambahkan sekali lagi dari sdk->extras->googlefolder menyelesaikan masalah saya dengan sempurna.

Neal Ahluvalia
sumber
0

Untuk kasus saya, saya baru saja memulai ulang Eclipse saya dan berhasil.

Saya telah bekerja selama 2 minggu tanpa mematikannya, saya pikir itu rusak.

Terima kasih atas sarannya meskipun Ewoks!

Eddy Goh
sumber
0

Ganti kode versi dengan kode versi perpustakaan yang sesuai akan menyelesaikan masalah Anda, seperti ini:

 <integer name="google_play_services_version"> <versioncode> </integer>
1'hafs
sumber
-3

Bisa langsung dijadikan

android:value="6587000"

di tempat

android:value="@integer/google_play_services_version"

Bersulang.

Ali Akram
sumber
Lihat jawaban yang diterima di atas ( stackoverflow.com/a/20068489/165164 ) mengapa ini adalah ide yang buruk.
Anne Gunn
-37

Anda perlu menambahkan file "integers.xml" ke folder "res / values" proyek Anda. Isi file harus ..

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>
Murray
sumber
6
tidak pernah melakukan itu, itu tidak dinamis.
panchicore
2
Ini adalah hal yang salah untuk dilakukan. Lihat jawaban Ewoks, di stackoverflow.com/a/20068489/1450294
Michael Scheper