Saya mencoba menguji Layanan Google Play dengan Android Studio baru. Saya memiliki proyek dengan ketergantungan pada google_play_services.jar. Tetapi ketika saya mencoba untuk membangun kembali proyek saya mendapatkan kesalahan berikut:
Information:[TstGP3-TstGP3] Crunching PNG Files in source dir: C:\Users\ans\AndroidStudioProjects\TstGP3\TstGP3\src\main\res
Information:[TstGP3-TstGP3] To destination dir: C:\Users\ans\AndroidStudioProjects\TstGP3\build\classes\res-cache\TstGP3-TstGP3
Information:Compilation completed with 2 errors and 0 warnings in 2 sec
Information:2 errors
Information:0 warnings
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\Android_BuildConfig_Generator\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\BuildConfig.java
Error:Error:line (4)error: duplicate class: com.example.tstgp3.BuildConfig
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\aapt\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\R.java
Error:Error:line (10)error: duplicate class: com.example.tstgp3.R
Tampaknya ia memiliki dua file BuildConfig dan juga dua kelas R. Bagaimana cara mengatasi masalah tersebut?
EDIT:
Saya telah memperhatikan bahwa kompilator mengkompilasi dua file R.java: yang ada di folder proyek saya dan satu lagi yang terletak di folder% USERPROFILE% .AndroidStudioPreview Jadi, saya mencoba untuk mengecualikan folder "Pratinjau" ini di pengaturan kompiler dan sekarang berhasil. Masalah ini hanya terjadi setelah saya mulai menggunakan kelas Layanan Google Play dalam proyek saya. Saya akan menghargai jika seseorang dapat menjelaskan alasan di balik masalah ini.
sumber
Jawaban:
Semua jawaban itu salah, sejak rilis plugin gradle v0.4.2 pengaturan layanan google play di bawah studio android sangat mudah. Anda tidak perlu mengimpor jar atau menambahkan pustaka proyek atau menambahkan modul baru di bawah android studio. Yang harus Anda lakukan adalah menambahkan dependensi yang benar ke dalam file build.gradle. Silakan lihat link tersebut: Gradle plugin v0.4.2 update , New Build System , dan contoh ini
The Benar untuk melakukannya adalah sebagai berikut:
Pertama-tama Anda harus meluncurkan manajer sdk dan mengunduh serta menginstal file berikut yang terletak di bawah "ekstra": Repositori dukungan Android , layanan Google play , penyimpanan Google .
Mulai ulang studio android dan buka file build gradle. Anda harus mengubah file build.gradle Anda agar terlihat seperti ini di bawah dependensi:
Dan akhirnya sinkronkan proyek Anda (tombol di sebelah kiri pengelola AVD).
Sejak versi 6.5 Anda dapat menyertakan pustaka lengkap (sangat besar) atau hanya modul yang Anda butuhkan (Opsi Terbaik). Yaitu jika Anda hanya membutuhkan Google Maps dan Analytics, Anda dapat mengganti contoh sebelumnya dengan yang berikut ini:
Anda dapat menemukan daftar ketergantungan lengkapnya di sini
Beberapa catatan tambahan:
Setelah pembaruan utama Android Studio, bersihkan rekondisi proyek Anda dengan mengikuti petunjuk selanjutnya seperti yang disarankan dalam komentar oleh @ user123321
cd ke folder proyek Anda
./gradlew clean
./gradlew build
sumber
Voila! Tidak perlu berkelahi dengan Gradle :)
sumber
DIEDIT: Orang ini benar-benar membawanya pulang dan memiliki tutorial kecil yang bagus http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html
satu catatan samping: Saya telah bermain-main begitu banyak sehingga saya perlu melakukan a
gradlew clean
agar berjalan dengan suksesJika Anda telah mengimpor proyek Anda atau bekerja dari aplikasi Peta Contoh yang terletak di \ extras \ google \ google_play_services \ samples \ maps, lihat tutorial ini.
https://stackoverflow.com/a/16598478/2414698
Jika Anda membuat proyek baru dari awal, catat komentar Xav pada posting yang sama. Dia menjelaskan bahwa Android Studio menggunakan kompiler yang berbeda dan Anda harus memodifikasi file build.gradle secara manual. Saya melakukan ini dengan sukses. Saya menyalin
ke direktori lib saya dan menambahkan berikut ini ke file build.gradle saya
Juga, jika ini adalah proyek baru, lihat posting ini juga.
https://stackoverflow.com/a/16671865/2414698
sumber
Sebagian besar jawaban ini hanya membahas dependensi waktu kompilasi, tetapi Anda akan menemukan host pengecualian NoClassDef saat runtime. Itu karena Anda membutuhkan lebih dari sekedar google-play-services.jar. Ini mereferensikan sumber daya yang merupakan bagian dari proyek perpustakaan, dan itu tidak disertakan dengan benar jika Anda hanya memiliki jar.
Yang paling berhasil bagi saya adalah pertama-tama mendapatkan pengaturan proyek dengan benar di eclipse. Buat proyek Anda terstruktur sehingga mencakup aplikasi dan pustaka Anda, seperti yang dijelaskan di sini: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup
Kemudian ekspor proyek aplikasi Anda dari eclipse, dan impor ke Android Studio seperti yang dijelaskan di sini: http://developer.android.com/sdk/installing/migrate.html . Pastikan untuk mengekspor proyek aplikasi Anda dan proyek perpustakaan layanan google play. Saat mengimpor itu akan mendeteksi proyek perpustakaan dan mengimpornya sebagai modul. Saya baru saja menerima semua default selama proses impor proyek.
sumber
Integrasi layanan Google Play di studio Android.
Langkah 1:
Langkah 2:
Langkah 3:
Langkah 4:
Langkah 5:
Tolong beri komentar jika Anda membutuhkan bantuan. Selamat membuat kode.
sumber
Tidak ada solusi di atas yang berhasil untuk saya. Tidak yakin apakah ini khusus untuk penyiapan saya atau rilis baru.
Saya menggunakan Android Studio Beta 0.8.9 dan saya tidak mendapatkan com.google.android.gms: play-service di daftar perpustakaan saat mengikuti instruksi ini:
Saya sudah melakukan ini:
Yang menyelesaikannya adalah menambahkan dari SDK Manager, "layanan Google play untuk Froyo" lalu mengulangi langkah pertama.
Tidak memahami alasannya dengan benar tetapi ini berhasil.
PS: Saya baru mengamati bahwa bahkan sekarang ketika saya mencari layanan bermain ini tidak datang, tetapi ketika saya langsung menggulir dan melihat daftar itu ada di sana.
sumber
Ikuti artikel ini -> http://developer.android.com/google/play-services/setup.html
Anda harus memilih Menggunakan Android Studio
Contoh file Gradle:
Anda dapat menemukan versi terbaru Layanan Google Play di sini: https://developer.android.com/google/play-services/index.html
sumber
Saya mendapatkan ini berfungsi setelah melakukan hal berikut:
Catatan: Ini juga tidak memberi saya pengecualian waktu proses, ini berfungsi.
sumber
Buka file project build.gradle Anda dan tambahkan baris di bawah ini di bawah modul dependencies.
Di bawah ini akan ditambahkan Google Analytics dan Maps jika Anda tidak ingin mengintegrasikan perpustakaan penuh
sumber
Dalam kasus saya google-play-services_lib diintegrasikan sebagai modul (Libs Eksternal) untuk peta Google & GCM dalam proyek saya.
Sekarang, kali ini perlu menerapkan API Google Places Autocomplete tetapi masalahnya adalah kode itu baru dan libs saya sudah tua sehingga beberapa kelas tidak ditemukan:
mengikuti langkah-langkah ini ...
1> Perbarui layanan Google Play menjadi SDK Manager
2> pilih file .jar baru dari layanan google play ( Sdk / extras / google / google_play_services / libproject / google-play-services_lib / libs ) ganti dengan yang lama
saya sukses ... !!!
sumber
Saya menyalin file play libs dari google-play-services_lib ke direktori proyek libs saya:
Kemudian pilih mereka, klik kanan, "Tambahkan sebagai perpustakaan".
sumber