গুগল প্লে পরিষেবা সহ অ্যান্ড্রয়েড স্টুডিও


95

আমি নতুন অ্যান্ড্রয়েড স্টুডিওর সাথে গুগল প্লে পরিষেবাগুলি পরীক্ষা করার চেষ্টা করছি। Google_play_services.jar- এর উপর নির্ভরতা সহ আমার একটি প্রকল্প রয়েছে। কিন্তু যখন আমি প্রকল্পটি পুনর্নির্মাণের চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিগুলি পাই:

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

দেখে মনে হচ্ছে এটিতে দুটি বিল্ডকনফিগ ফাইল এবং দুটি আর ক্লাস রয়েছে। আমি কীভাবে সমস্যাটি সমাধান করতে পারি?

সম্পাদনা:

আমি লক্ষ্য করেছি যে সংকলকটি দুটি আর। জাভা ফাইল সংকলন করেছে: একটি যা আমার প্রকল্প ফোল্ডারে এবং অন্যটি% ফোল্ডারে% USERPROFILE% এ অবস্থিত। এবং এখন এটি কাজ করছে। এই সমস্যাটি তখনই ঘটে যখন আমি আমার প্রকল্পে গুগল প্লে পরিষেবা ক্লাস ব্যবহার শুরু করেছি। কেউ যদি এই সমস্যার পিছনে কারণ ব্যাখ্যা করতে পারে তবে আমি প্রশংসা করব।


এই অ্যান্ড্রয়েড স্টুডিওতে নির্ভরতা বিভাগে যুক্ত করার পরে 'com.google.android.gms: play-পরিষেবাদি: 6.5.87' কী করে তা যে কেউ সহায়তা করতে পারে। আমরা জারটিও যুক্ত করতে পারি তবে উপরের লাইনটি জারগুলি যুক্ত না করায় কী করে।
অ্যান্ড্রয়েড কিলার

উত্তর:


244

এই সমস্ত উত্তরগুলি ভুল, যেহেতু গ্রেড প্লাগইন v0.4.2 প্রকাশের সাথে অ্যান্ড্রয়েড স্টুডিওর অধীনে গুগল প্লে পরিষেবাগুলির সেটআপটি সরাসরি এগিয়ে রয়েছে। আপনার কোনও জার আমদানি বা কোনও প্রকল্পের লাইব্রেরি যুক্ত করার দরকার নেই বা অ্যান্ড্রয়েড স্টুডিওর অধীনে কোনও নতুন মডিউল যুক্ত করার দরকার নেই। আপনাকে যা করতে হবে তা হ'ল বিল্ড.gradle ফাইলটিতে সঠিক নির্ভরতা যুক্ত করা। দয়া করে এই লিঙ্কগুলিতে একবার দেখুন: গ্রেডল প্লাগইন v0.4.2 আপডেট , নতুন বিল্ড সিস্টেম এবং এই নমুনা

এটি করার সঠিক উপায়টি নিম্নরূপ:

প্রথমে আপনাকে এসডিকে ম্যানেজারটি চালু করতে হবে এবং "অতিরিক্তগুলি" এর নীচে থাকা নিম্নোক্ত ফাইলগুলি ডাউনলোড এবং ইনস্টল করতে হবে: অ্যান্ড্রয়েড সমর্থন সংগ্রহস্থল , গুগল প্লে পরিষেবাদি , গুগল সংগ্রহস্থল

অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন এবং বিল্ড গ্রেডল ফাইলটি খুলুন। নির্ভরতার অধীনে দেখতে আপনার বিল্ড.gradle ফাইলটি পরিবর্তন করতে হবে:

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

এবং অবশেষে আপনার প্রকল্পটি (এভিডি ম্যানেজারের বাম দিকে বোতাম) সিঙ্ক্রোনাইজ করুন।

সংস্করণ .5.৫ থেকে আপনি সম্পূর্ণ লাইব্রেরি (খুব বড়) বা আপনার প্রয়োজনীয় মডিউলগুলি (সেরা বিকল্প) অন্তর্ভুক্ত করতে পারেন। উদাহরণস্বরূপ, আপনার যদি কেবলমাত্র Google মানচিত্র এবং অ্যানালিটিকাগুলির প্রয়োজন হয় তবে আপনি পূর্বের উদাহরণটি নিম্নলিখিতগুলির সাথে প্রতিস্থাপন করতে পারেন:

dependencies {  
    compile 'com.google.android.gms:play-services-base:6.5.87'    
    compile 'com.google.android.gms:play-services-maps:6.5.87'  
}

আপনি এখানে সম্পূর্ণ নির্ভরতা তালিকাটি পেতে পারেন

কিছু পক্ষের নোট:

  • সর্বশেষতম প্লে পরিষেবা লাইব্রেরি সংস্করণ ব্যবহার করুন। এটি যদি পুরানো সংস্করণ হয় তবে অ্যান্ড্রয়েড স্টুডিওগুলি এটি হাইলাইট করবে। আজ অবধি (ফেব্রুয়ারী 5 6.৫.৮7) তবে আপনি গ্রেডল দয়া করে সর্বশেষ সংস্করণটি পরীক্ষা করতে পারেন
  • অ্যান্ড্রয়েড স্টুডিওর একটি বড় আপডেটের পরে, @ ইউজার 123321 এর মন্তব্যে প্রস্তাবিত পরবর্তী নির্দেশাবলী অনুসরণ করে আপনার প্রকল্পটি পুনর্নির্মাণ করুন

    আপনার প্রকল্প ফোল্ডারে সিডি করুন। /
    গ্রেডলিউ ক্লিন
    ./ গ্রেডলিউ বিল্ড


আরে এস্ট্রোনিনো আমি এই আপডেটটিও দেখেছি, তবে আমি ভাবছিলাম যে অ্যান্ড্রয়েড স্টুডিও (অন্তত আইডিই নিজেই) নির্ভরতা কীভাবে টানবে? আপনি কি কেবল গ্র্যাডল সেটিংস দিয়ে কাজ করতে পেরেছেন?
বিজয়ী n।

হ্যাঁ এটি আমার পক্ষে কাজ করেছিল। আইডিই নতুন নামগুলি সমাধান করতেও সক্ষম। ধন্যবাদ
বিজয়ী n।

দেরী উত্তর দেওয়ার জন্য দুঃখিত। আপনি যখন সিঙ্ক্রোনাইজ বোতাম টিপেন তখন আদর্শ স্বয়ংক্রিয়ভাবে নতুন নির্ভরতা যুক্ত করে। এটি সেই বিল্ড সিস্টেম যা আদর্শ আচরণকে নিয়ন্ত্রন করে এবং "পুরাতন" ধারণা শৈলীতে (মানে মডিউল এবং প্রকল্পের কনফিগারেশন পরিবর্তন করা) প্রকল্পে পরিবর্তন আনতে নিরুৎসাহিত করা হয়। আমি আনন্দিত যে এটি আপনার পক্ষে কাজ করছে।
ইমানল

4
আপনি। / গ্রেডলে পরিষ্কার করে নিন কিনা তা নিশ্চিত করুন and অন্যথায় আপনি একটি নো ক্লাসডিফ ত্রুটি পেয়েছেন
ব্যবহারকারীর 123321

4
আজ অবধি, সর্বশেষ বিল্ডটি আমার কাছে 5.2.08 ছিল
chrisbjr

114
  1. ফাইল -> প্রকল্পের কাঠামোতে যান
  2. 'প্রকল্প সেটিংস' নির্বাচন করুন
  3. 'নির্ভরতা' ট্যাব নির্বাচন করুন
  4. '+' ক্লিক করুন এবং '1. লাইব্রেরি নির্ভরতা' নির্বাচন করুন
  5. অনুসন্ধান করুন: com.google.android.gms: প্লে-পরিষেবাগুলি
  6. সর্বশেষতম সংস্করণটি নির্বাচন করুন এবং 'ঠিক আছে' ক্লিক করুন

ভয়েলা! গ্রেডলের সাথে লড়াই করার দরকার নেই :)


4
এটি আমার পক্ষে কাজ করেছে এবং খুব সহজ। এটি ইতিমধ্যে সর্বশেষতম প্লে-পরিষেবাগুলির সংস্করণ নম্বরটি জানে - আপনি কেবল এটি একটি তালিকা থেকে নির্বাচন করুন এবং গ্রেডেল ফাইলটি আপনার জন্য সংশোধিত হয়েছে!
নিক পার্কিন্স

লিডারবোর্ডের জন্য বেসগেম ইউটিলগুলি আমদানি করতে কি আমি একই পদ্ধতি ব্যবহার করতে পারি?
eng.ahmed

হ্যাঁ, আহমেদ। এইভাবে আপনি যে কোনও অ্যান্ড্রয়েড লাইব্রেরি আমদানি করতে পারেন।
ইভো স্টোয়ানভ

সহজ, মার্জিত সমাধান। ধন্যবাদ আইভোসটায়ানোভ এটি আমার মতো নতুনদের সময় সাশ্রয় করবে।
মানিকান্দন এস

5

সম্পাদিত: এই লোক সত্যিই এটা বাড়িতে আনা হয় এবং একটি ভাল সামান্য হয়েছে টিউটোরিয়াল http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html

এক পক্ষের নোট: আমি প্রায় খেলেছি যে gradlew cleanএটি সফলভাবে চালানোর জন্য আমার একটি করা দরকার

আপনি যদি নিজের প্রকল্পটি আমদানি করে থাকেন বা \ অতিরিক্তগুলি \ গুগল \ গুগল_প্লে_সার্ভেসেসস \ নমুনা \ মানচিত্রে অবস্থিত নমুনা মানচিত্র অ্যাপ্লিকেশন থেকে কাজ করছেন তবে এই টিউটোরিয়ালটি পরীক্ষা করে দেখুন।

https://stackoverflow.com/a/16598478/2414698

আপনি যদি স্ক্র্যাচ থেকে একটি নতুন প্রকল্প তৈরি করে থাকেন তবে সেই একই পোস্টে জাভের মন্তব্যগুলি নোট করুন। তিনি বর্ণনা করেছেন যে অ্যান্ড্রয়েড স্টুডিও একটি পৃথক সংকলক ব্যবহার করে এবং আপনাকে বিল্ড.gradle ফাইলটি ম্যানুয়ালি সংশোধন করতে হবে। আমি সাফল্যের সাথে এটি করেছি। আমি নকল করেছিলাম

  • গুগল-প্লে-পরিষেবাদি.জার
  • google-play-services.jar.properties

আমার lib ডিরেক্টরিতে এবং আমার build.gradle ফাইলটিতে নিম্নলিখিতটি যুক্ত করেছে

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/google-play-services.jar')
}

এছাড়াও, এটি একটি নতুন যদি প্রকল্প পোস্টটিও চেক আউট করুন।

https://stackoverflow.com/a/16671865/2414698


7
আপনি যে নিবন্ধটি লিঙ্ক করেছেন সেটি এখন অবচয় করা হয়েছে। এই সমাধান প্রস্তাবিত হয় না।
রেভনোহ

4

এই উত্তরগুলির বেশিরভাগই কেবল সংকলন-সময় নির্ভরতাগুলিকে সম্বোধন করে তবে রানটাইমে আপনি NoClassDef ব্যতিক্রমের একটি হোস্ট পাবেন। এটি কারণ আপনাকে গুগল-প্লে-পরিষেবাদি.জারের চেয়ে বেশি প্রয়োজন। এটি লাইব্রেরি প্রকল্পের অংশ হিসাবে সংস্থানগুলি উল্লেখ করে এবং আপনার যদি কেবল জার থাকে তবে সেগুলি সঠিকভাবে অন্তর্ভুক্ত করা হয় না ar

আমার জন্য যা সবচেয়ে ভাল কাজ করেছে তা হ'ল প্রথমে গ্রহের ক্ষেত্রে প্রকল্পের সেটআপটি সঠিকভাবে পাওয়া। আপনার প্রকল্পটি এমনভাবে গঠন করা হয়েছে যাতে এটিতে এখানে বর্ণিত হিসাবে এটি আপনার অ্যাপ এবং গ্রন্থাগার উভয়ই অন্তর্ভুক্ত করে: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup

তারপরে আপনার অ্যাপ্লিকেশন প্রকল্পটি গ্রহন থেকে রফতানি করুন এবং এখানে বর্ণিত হিসাবে অ্যান্ড্রয়েড স্টুডিওতে আমদানি করুন: http://developer.android.com/sdk/installing/migrate.html । আপনার অ্যাপ্লিকেশন প্রকল্প এবং গুগল প্লে পরিষেবা গ্রন্থাগার প্রকল্প উভয়ই রফতানি করার বিষয়টি নিশ্চিত করুন। আমদানি করার সময় এটি গ্রন্থাগার প্রকল্পটি সনাক্ত করবে এবং এটি মডিউল হিসাবে আমদানি করবে। আমি প্রকল্পের আমদানি প্রক্রিয়া চলাকালীন সমস্ত ডিফল্ট গ্রহণ করেছি।


4
ধন্যবাদ, তবে আমি গ্রহনটি ব্যবহার করতে চাই না!
অ্যান্ড্রয়েডস্টার

2

গুগল প্লে পরিষেবাদি অ্যান্ড্রয়েড স্টুডিওতে একীকরণ।

ধাপ 1:

SDK manager->Tools Update this

1.Google play services
2.Android Support Repository

ধাপ ২:

chance in build.gradle 
defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:4.0.+'
}

ধাপ 3:

 android.manifest.xml
<uses-sdk
        android:minSdkVersion="8" />

পদক্ষেপ 4:

Sync project file with grandle.
wait for few minute.

পদক্ষেপ 5:

File->Project Structure find error with red bulb images,click on go to add dependencies select your app module.
Save

আপনার যদি সহায়তা প্রয়োজন হয় তবে মন্তব্য করুন শুভ কোডিং।


2

উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। এটি আমার সেটআপ বা নতুন প্রকাশের জন্য নির্দিষ্ট কিনা তা নিশ্চিত নয়।

আমি অ্যান্ড্রয়েড স্টুডিও বিটা 0.8.9 ব্যবহার করছি এবং আমি কোনও com.google.android.gms পাচ্ছি না: এই নির্দেশনাটি অনুসরণ করে লাইব্রেরির তালিকায় প্লে-পরিষেবা:

ফাইলটিতে যান -> প্রকল্পের কাঠামো -> প্রকল্প সেটিংস নির্বাচন করুন -> 'নির্ভরতা' নির্বাচন করুন ট্যাব ক্লিক করুন '+' -> 1. লাইব্রেরি নির্ভরতা -> com.google.android.gms নির্বাচন করুন: প্লে-পরিষেবা: +

আমি ইতিমধ্যে এটি সম্পন্ন করেছি:

প্রথমে আপনাকে এসডিকে ম্যানেজারটি চালু করতে হবে এবং "অতিরিক্তগুলি" এর নীচে থাকা নিম্নোক্ত ফাইলগুলি ডাউনলোড এবং ইনস্টল করতে হবে: অ্যান্ড্রয়েড সমর্থন সংগ্রহস্থল, গুগল প্লে পরিষেবাদি, গুগল সংগ্রহস্থল।

এটি সমাধান করেছিল কী এসডিকে ম্যানেজারের কাছ থেকে যোগ করা, "ফ্রিওয়ের জন্য গুগল প্লে পরিষেবাদি" তারপরে প্রথম ধাপটি পুনরাবৃত্তি করে।

কারণটি সঠিকভাবে বুঝতে পারি নি তবে এটি কাজ করেছে।

পিএস: আমি সবেমাত্র দেখেছি যে এখনও যখন আমি প্লে-পরিষেবাগুলির সন্ধান করি তখন এটি আসে না, তবে আমি যখন সরাসরি স্ক্রোল করে তালিকাটি দেখি তবে এটি ঠিক আছে।


2

এই নিবন্ধটি অনুসরণ করুন -> http://developer.android.com/google/play-services/setup.html

আপনার অ্যান্ড্রয়েড স্টুডিও ব্যবহার করা উচিত

এখানে চিত্র বর্ণনা লিখুন

গ্রেডল ফাইলের উদাহরণ:

দ্রষ্টব্য: আপনার অ্যাপ্লিকেশন মডিউল ডিরেক্টরিতে build.gradle ফাইলটি খুলুন।

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "{applicationId}"
        minSdkVersion 14
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.google.android.gms:play-services:6.1.+'
}

আপনি গুগল প্লে পরিষেবাদির সর্বশেষ সংস্করণটি এখানে পেতে পারেন: https://developer.android.com/google/play-services/index.html


1

নিম্নলিখিত কাজগুলি করার পরে আমি এই কাজটি পেয়েছি:

  • গুগল-প্লে-পরিষেবাদি-লিবকে একটি মডিউল হিসাবে (মডিউল এবং প্রকল্পের মধ্যে নোটের পার্থক্য) রাখুন, তারপরে আপনার মডেলগুলির "লিবস" ডিরেক্টরিতে গুগল-প্লে-পরিষেবাদি.জার যুক্ত করুন।
  • এরপরে একটি লাইব্রেরি তৈরির মাধ্যমে আপনার বিল্ড পাথটিতে জারটি যুক্ত করুন বা জারটিকে অন্য লাইব্রেরিতে যুক্ত করুন। আমার কাছে সাধারণত একটি একক আইডিইএ লাইব্রেরি থাকে যা আমি আমার সমস্ত /libs/*.jar ফাইলগুলিতে যুক্ত করি।
  • আপনার মডিউলগুলিতে লাইব্রেরি যুক্ত করুন মডিউল সেটিংস (এফ 4) এর মাধ্যমে পথ তৈরি করুন।
  • আপনার প্রকল্পের মডিউল নির্ভরতা হিসাবে গুগল প্লে-পরিষেবাগুলি-lib যুক্ত করুন।
  • সম্পন্ন!

দ্রষ্টব্য: এটি আমাকে রানটাইম ব্যতিক্রমও দেয় না, এটি কাজ করে।


আমি একই ত্রুটিগুলি পেয়েছি: আর। জাভা এবং বিল্ডকনফিগ.জভা সদৃশ
অ্যান্ড্রয়েডেস্টার

একটি সংকলন নির্ভরতা হিসাবে আপনার কি মডিউল আছে?
জোহান এস

হ্যাঁ! একমাত্র সমাধানটি আমি এর আগে উল্লেখ করেছি (পূর্বরূপ ফোল্ডারটি বাদ দিন)
অ্যান্ড্রয়েডেস্টার

0

আপনার প্রজেক্ট বিল্ড.gradle ফাইলটি খুলুন এবং নির্ভরতা মডিউলের অধীনে লাইন যুক্ত করুন।

dependencies {
    compile 'com.google.android.gms:play-services:7.0.0'
}

আপনি পুরো লাইব্রেরি একীভূত করতে না চাইলে নীচে গুগল অ্যানালিটিক্স এবং মানচিত্র যুক্ত করা হবে

dependencies {
    compile 'com.google.android.gms:play-services-analytics:7.0.0'
    compile 'com.google.android.gms:play-services-maps:7.0.0'
}

0

আমার ক্ষেত্রে গুগল-প্লে-পরিষেবাদি_লিব আমার প্রকল্পে গুগল ম্যাপ এবং জিসিএমের জন্য মডিউল (বহিরাগত লিবস) হিসাবে সংহত রয়েছে ।

এখন, এই সময়ের জন্য গুগল প্লেসগুলি স্বতঃসম্পূর্ণ এপিআই প্রয়োগ করতে হবে তবে সমস্যাটি হ'ল কোডটি নতুন এবং আমার লিবগুলি পুরানো তাই কোনও শ্রেণি পাওয়া যায় নি:

এই পদক্ষেপগুলি অনুসরণ করে ...

1> এসডিকে ম্যানেজারে গুগল প্লে পরিষেবা আপডেট করুন

2> গুগল প্লে সার্ভিসের নতুন .jar ফাইলটি নির্বাচন করুন ( এসডিকে / এক্সট্রা / গুগল / গুগল_প্লে_সার্চেসিস / লাইবপ্রজেক্ট / গুগল-প্লে-পরিষেবাদি_লিব / লিবস সাথে প্রতিস্থাপন করুন

আমি সাফল্য পেয়েছি ... !!!


-3

আমি গুগল-প্লে-পরিষেবাদি_লিব থেকে প্লে লিব্স ফাইলগুলি আমার প্রকল্পের লাইব ডিরেক্টরিতে অনুলিপি করেছি:

  • গুগল-প্লে-পরিষেবাদি.জার
  • google-play-services.jar.properties।

তারপরে তাদের নির্বাচন করুন, "লাইব্রেরি হিসাবে যুক্ত করুন" রাইট-ক্লিক করুন।


4
আপনার জবাব দেওয়ার জন্য ধন্যবাদ তবে এটি আমার পক্ষে কার্যকর হয়নি - এটি এমন কিছুটির অনুরূপ যা আমি আগে চেষ্টা করেছিলাম।
অ্যান্ড্রয়েডেস্টার

এই পরামর্শটি আমি অন্য কোথাও পড়েছি এমন অন্য তথ্যের বিরুদ্ধে যায়। প্রথম উত্তরের সাথে যুক্ত উত্তরটি অবচিত করা হয়েছে কারণ এটি এই পদ্ধতিটি ব্যবহার করে।
রেভনোহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.