গুগল ম্যাপস অ্যান্ড্রয়েড এপিআই v2 অনুমোদন ব্যর্থতা


95

আমার পদক্ষেপগুলি:

  • ডিবাগ.কিস্টোর থেকে SHA1 কোড পেয়েছে
  • গুগল এপিস কনসোলে অ্যাপ্লিকেশন তৈরি করুন
  • সক্রিয় গুগল ম্যাপ এপিআই ভি 2
  • ইনপুট SHA1; আমার.প্যাকেজ.নাম
  • API কী পান
  • অ্যান্ড্রয়েডমেনিস্ট ফাইলটি তৈরি করেছে:

        <permission
                android:name="my.package.name.permission.MAPS_RECEIVE"
                android:protectionLevel="signature"/>
    
        <uses-permission android:name="my.package.name.permission.MAPS_RECEIVE"/>
    
        <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
    
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    
        <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    
        <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:hardwareAccelerated="true">
    
            <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_API_KEY_HERE" />
    
            <activity android:name="MyActivity"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
        </application>
    </manifest>
    
  • তৈরি লেআউট

  • "গুগল-প্লে-পরিষেবাদি.জার" কে লিবিসে রাখুন

সংকলনের পরে আমার ক্রাশ হয়েছে:

  ERROR/AndroidRuntime(10182): FATAL EXCEPTION: main
                java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
                at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
                at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
                at android.app.Activity.onCreateView(Activity.java:4716)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
                at android.app.Activity.setContentView(Activity.java:1881)
                at com.example.gm2.MyActivity.onCreate(MyActivity.java:16)
                at android.app.Activity.performCreate(Activity.java:5104)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
                at android.app.ActivityThread.access$600(ActivityThread.java:141)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:5039)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
                at dalvik.system.NativeStart.main(Native Method)

এর পরে আমি এতে বিন্যাস পরিবর্তন করেছি:

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/map"
             android:layout_width="match_parent"
             android:layout_height="match_parent" />

এবং MyActivity এ পরিবর্তিত হয়েছে

  super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    FragmentManager manager = getFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();

    transaction.add(R.id.map, MapFragment.newInstance());           
    transaction.commit();

ফলস্বরূপ, অ্যাপ্লিকেশনটি শুরু হয়েছিল, তবে আমি মানচিত্রটি দেখতে পাইনি।

কনসোল লগ:

ERROR/Google Maps Android API(10369): Authorization failure.

4
ঈশ্বর! আমার সর্বদা একই ত্রুটি ছিল $ স্টাইলযোগ্য ক্লাসটি পাওয়া যায় নি। এখন আমি আমার কোডটি আপনার প্রোগ্রাম্যাটিক পদ্ধতিতে মানচিত্রের প্রয়োগের পদ্ধতিতে পরিবর্তন করেছি এবং এটি কার্যকর হয়! ধন্যবাদ! তবে আপনাকে নীচের বর্ণনার মতো কী তৈরি করতে হবে
ইনফরম্যাটিক0

উত্তর:


105

পদক্ষেপ :

  • ডিভাইসে গুগল প্লে পরিষেবাদি APK রয়েছে তা নিশ্চিত করতে
  • গুগল প্লে পরিষেবা ইনস্টল করতে। 2 এরও বেশি

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

  • https://code.google.com/apis/console/ এ প্রকল্প তৈরি করতে
  • "গুগল ম্যাপস অ্যান্ড্রয়েড এপিআই ভি 2" সক্ষম করতে এখানে চিত্র বর্ণনা লিখুন
  • প্রকল্পে SHA1 এর রেজিস্ট্রেশন করতে ( এখনই, আপনাকে SHA1 লিখতে হবে; your.app.package.name ) APIs কনসোলে এবং API KEY পেতে
  • আপনার প্রকল্পের মূলটিতে অ্যান্ড্রয়েড_SDK_DIR / এক্সট্রা / গুগল / গুগল_প্লে_সার্চেসিস / লাইবপ্রজেক্ট / গুগল প্লে-সার্ভিসেস_লিব অনুলিপি করতে
  • YOUR_PROJECT / প্রকল্প.properties এ পরবর্তী লাইন যুক্ত করতে

android.library.reference.1=google-play-services_lib

  • পরবর্তী লাইন যোগ করতে YOUR_PROJECT/proguard-project.txt

-keep class * extends java.util.ListResourceBundle {

   protected Object[][] getContents();

}

এখন আপনি অ্যান্ড্রয়েডের জন্য গুগল ম্যাপ এপিআই ভি 2 ব্যবহার করে আপনার নিজস্ব গুগল ম্যাপ অ্যাপ্লিকেশন তৈরি করতে প্রস্তুত।

আপনি যদি ন্যূনতম এসডিকে = 8 দিয়ে অ্যাপ্লিকেশন তৈরি করেন, দয়া করে অ্যান্ড্রয়েড সমর্থন লাইব্রেরি v4 + সমর্থনফ্যাপ্রেগমেন্টের পরিবর্তে মানচিত্রের ব্যবহার করুন।


এই নির্দেশাবলী পুরো কাজটি করেনি। আমার মানচিত্রের এপিআই নমুনা অ্যাপ্লিকেশন থেকে প্রগর্ড.সিফজি অনুলিপি করা দরকার। তবেই এটি কাজ শুরু করে।
Yoel Gluschnaider

এছাড়াও, আমি লক্ষ করেছি যে স্বাক্ষর অ্যালগরিদমটি SHA1withRSA হওয়া উচিত এবং SHA256withRSA নয় (ডিবাগ কীটির জন্য গ্রহ দ্বারা তৈরি করা ডিফল্ট)।
Yoel Gluschnaider

4
ধন্যবাদ! to enable "Google Maps Android API v2" - পদক্ষেপ আমার সমস্যার সমাধান।
জোহান

4
@ যোয়েলগ্লাসনাডার: আমি কীভাবে SHA256withRSA থেকে SHA1withRSA এ ডিফল্ট অ্যালগরিদম পরিবর্তন করতে পারি?
সন্তোষ

ধন্যবাদ! সাপোর্টম্যাপফ্রেগমেন্টটি ব্যবহার করার জন্য আপনার ধারণার দ্বারা আমি সংরক্ষণ করেছিলাম।
ইলিয়া কোগান

35

এই পোস্টটিও দেখুন: গুগল ম্যাপ অ্যান্ড্রয়েড এপি ভি 2 স্যাম্পল কোডটি কাজ করছে না , আপনি যদি নিশ্চিত হন যে আপনি সঠিক পদক্ষেপগুলি করেছেন তবে দ্বিতীয় উত্তর অনুসরণ করুন, প্রমাণীকরণটি কোথাও ক্যাশে হয়ে গেছে, ম্যানুয়ালি অ্যাপ্লিকেশনটি আনইনস্টল করার চেষ্টা করুন (ঠিক যেমন আপনি একটি হিসাবে করেন সাধারণ অ্যাপ্লিকেশন) তারপরে আবার "রান" করুন project


6
আমি বিশ্বাস করি না যে সবেমাত্র কাজ করেছে। ধন্যবাদ @ আলেজান্দ্রো দেল রিও :)
ফিলি

আমি বাজি ধরছি, ঠিক আমার মতোই, এখানকার 90% মানুষ সত্যই এই উত্তরটি চান এবং নির্বাচিত উত্তরটি নয় (যদিও সহায়ক হিসাবেও)
ক্যালস্কি

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

4
ভবিষ্যতের পাঠকদের জন্য। মুছুন binএবং gen। পরিষ্কার, পুনর্নির্মাণ এবং ক্যাশে শংসাপত্রগুলি পুনর্নবীকরণ করা হয়।
জর্জ ডারামোসকাস

20

যেহেতু আমি এপিআই কাজ করতে সবেমাত্র অনেক সময় নষ্ট করেছি, তাই আমি মানচিত্র এপিআই ভি 2 এর জন্য ধাপে ধাপে বৈধতা দেওয়ার চেষ্টা করব:

পদক্ষেপ 1: আপনার এপিআই কী ব্যবহার করুন

আপনি যদি গুগল এপিআই কনসোলের সাথে অপরিচিত থাকেন তবে উপরের রুফিয়ারথের খুব ভাল উত্তরটি পড়ুন।

পদক্ষেপ 2: আপনাকে এসএএএ হ্যাশ পরীক্ষা করুন (এই ক্ষেত্রে আমি গ্রহণের ডিবাগ কী ব্যবহার করি):

একটি উইন্ডোজ মেশিনে একটি কমান্ড প্রম্পটে আপনার ব্যবহারকারী ডিরেক্টরিতে পৌঁছে:

C:\Users\you>keytool -list -alias androiddebugkey -keystore .android\debug.keyst
ore -storepass android -keypass android

আপনি কিছু পাবেন:

androiddebugkey, 15.10.2012, PrivateKeyEntry,
Zertifikat-Fingerprint (SHA1): 66:XX:47:XX:1E:XX:FE:XX:DE:XX:EF:XX:98:XX:83:XX:9A:XX:23:A6

তারপরে আপনার মানচিত্রের ক্রিয়াকলাপের প্যাকেজের নামটি দেখুন, যেমন com.example.mypackagename

আপনি এটি একত্রিত করেন এবং গুগল এপিআই কনসোলে আপনার সেটিংসের সাথে এটি পরীক্ষা করে দেখুন:

66:XX:47:XX:1E:XX:FE:XX:DE:XX:EF:XX:98:XX:83:XX:9A:XX:23:A6;com.example.mypackagename

আপনি কোথায় পাবেন আপনার এপিআই-কি:

AZzaSyDhkhNotUseFullKey49ylKD2bw1HM

পদক্ষেপ 3. মেটা ডেটা প্রকাশ করুন ifest

মেটা-ডেটা উপস্থিত এবং সঠিক কী রয়েছে কিনা তা পরীক্ষা করে দেখুন। আপনি যদি আপনার অ্যাপটি প্রকাশ করেন তবে আপনার একটি আলাদা কী প্রয়োজন।

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

পদক্ষেপ 4. ম্যানিফেস্ট বৈশিষ্ট্য:

আপনার মানচিত্রের API এর জন্য কিছু গ্রাফিক্স সমর্থন প্রয়োজন হওয়ায় আপনার এন্ট্রিটি প্রয়োজন:

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

চিন্তা করবেন না, 99.7% ডিভাইস এটি সমর্থন করে।

পদক্ষেপ 5. ম্যানিফেস্ট গ্রন্থাগার:

গুগল লাইব্রেরি যুক্ত করুন।

    <uses-library
        android:name="com.google.android.maps"
        android:required="false" /> // This is required if you want your app to start in the emulator. I set it to false also if map is not an essential part of the application.

পদক্ষেপ 6. অনুমতি প্রকাশ:

প্যাকেজের নাম দু'বার পরীক্ষা করুন: com.example.yourpackage

<permission
    android:name="com.example.yourpackage.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.example.yourpackage.permission.MAPS_RECEIVE" />

নিম্নলিখিত অনুমতি যুক্ত করুন:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

নিম্নলিখিত অনুমতিগুলি alচ্ছিক এবং আপনি যদি কেবল একটি মানচিত্র দেখান তবে প্রয়োজন হয় না। এগুলি ব্যবহার না করার চেষ্টা করুন।

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

পদক্ষেপ your. আপনার বিন্যাসে মানচিত্রের খণ্ডটি অন্তর্ভুক্ত করুন:

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    class="com.google.android.gms.maps.SupportMapFragment"
    map:cameraTargetLat="47.621120"
    map:cameraTargetLng="-122.349594"
    map:cameraZoom="15" />

যদি আপনার 2.x অ্যান্ড্রয়েড সংস্করণে প্রকাশিত হয় তবে আপনার ক্রিয়াকলাপে আপনাকে সমর্থন যুক্ত করতে হবে:

import android.support.v4.app.FragmentActivity;

মানচিত্রের জন্য: কাজের প্রবেশের অন্তর্ভুক্ত

xmlns:map="http://schemas.android.com/apk/res-auto"

আপনার ক্রিয়াকলাপের বিন্যাসে (যেমন লিনিয়ারলআউট)।

আমার ক্ষেত্রে প্রতিবার আমি বিন্যাসে কিছু পরিবর্তন করার সাথে সাথে প্রকল্পটি পরিষ্কার করতে হবে। একটি বাগ বলে মনে হচ্ছে।

পদক্ষেপ 8: Eclipse ব্যবহার করুন - প্রকল্প - পরিষ্কার।

উপভোগ করুন!


আমি আপনার পদক্ষেপগুলি অনুসরণ করছি তবে এপিআই কীতে ত্রুটি, কোনও সমাধান?
হেমন্তভিসি

4
<মেটা-ডেটা অ্যান্ড্রয়েডের জন্য +1: নাম = "com.google.android.maps.v2.API_KEY" অ্যান্ড্রয়েড: মান = "AZzaSyDhkhNotUseFullKey49ylKD2bw1HM" />
দ্য নাল-পয়েন্টার-

16

আপনার এখানে অবস্থিত লাইব্রেরি প্রকল্পটি ব্যবহার করতে হবে: এন্ড্রয়েড-এসডিকে-ডাইরেক্টরি / এক্সট্রা / গুগল / গুগল_প্লে_সার্চেস / লাইবপ্রজেক্ট

এটি আপনার প্রথম সমস্যার সমাধান করবে।

আমি আপনার দ্বিতীয় সম্পর্কে নিশ্চিত নই, তবে এটি প্রথমটির একটি পার্শ্ব প্রতিক্রিয়া হতে পারে। আমি এখনও নিজের অ্যাপটিতে মানচিত্রটি কাজ করার চেষ্টা করছি :)


আমি এক্সট্রা / গুগল / গুগল_প্লে_সার্ভিস / লাইবপ্রজেক্ট / লিবস / গুগল-প্লে-পরিষেবাদি.জারকে এমওয়াইপ্রোজেট / লিবিজে অনুলিপি করেছি।
রুশফেরুথ

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

আমি Eclipse ব্যবহার করি না (আইডিয়া ব্যবহার করুন)
রাসফেরুথ

আইডিয়ায় লাইব্রেরি প্রকল্পগুলি কীভাবে কাজ করে তা আমি নিশ্চিত নই, তবে ব্লগস.জেটব্রিনস / বিডিএ /২০১০ / ০৯ / that তে সেই তথ্য থাকা উচিত।
স্কট কেনেডি

17
আমি খুঁজে পেয়েছি কেন এটি কাজ করে না। আমি গুগল ম্যাপ অ্যান্ড্রয়েড এপিআই ভি 2 পরিষেবাটির পরিবর্তে গুগল ম্যাপ এপিআই ভি 2 চালু করেছি। = (আমার লজ্জা করুন ....
রুশফেরুথ

5

আজ আমি এই সমস্যার মুখোমুখি হয়েছি। আমি অ্যান্ড্রয়েড স্টুডিও 2.1.3, উইন্ডোজ 10 ব্যবহার করেছি এটি ডিবাগ করার সময় এটি দুর্দান্ত কাজ করে, তবে আমি যদি মুক্তির মোডে আপডেট করি তবে এটি কার্যকর হয় না। আমি সমস্ত অগ্রগামী শর্ত সাফ করে দিয়েছি, আপডেট হয়েছে তবে এটি সমাধান হয়নি not

সমাধান প্রকল্পের কাঠামোর সাথে সম্পর্কিত। Google_maps_api.xML ফাইলটি অ্যাপ্লিকেশন \ src \ ডিবাগ \ res এবং অ্যাপ্লিকেশন \ src \ রিলিজ \ res এর মধ্যে আলাদা ছিল। আমি ফোল্ডারটি ছাড়তে ডিবাগ থেকে ম্যানুয়াল অনুলিপি পেস্ট করেছি।

এখন এটা কাজ করছে.


4

উপরে উল্লিখিত গুনার বার্নস্টেইনের পরামর্শগুলিতে আমি বেশিরভাগ ক্ষেত্রেই অনুসরণ করেছি এবং এটি এখনও কার্যকর হয়নি। যাইহোক, আমি তার পরামর্শগুলি এবং নিম্নলিখিতগুলি অনুসরণ করার পরে এটি কাজ শুরু হয়েছিল:

  1. আমি অ্যান্ড্রয়েড স্টুডিওর ডান ক্লিক বিকল্পগুলির তালিকা ব্যবহার করে একটি নতুন ম্যাপএ্যাকটিভিটি তৈরি করেছি: নতুন -> গুগল -> গুগল মানচিত্র ক্রিয়াকলাপ

  2. তারপরে আমি google_maps_api.xML ফাইলটি খুললাম যা স্বয়ংক্রিয়ভাবে উত্পন্ন হয় এবং একটি নতুন এপিআই কেই তৈরি করতে বর্ণিত লিঙ্কটি ব্যবহার করে। আমি সমস্ত পদক্ষেপগুলি করেছি এবং আমার বর্তমান প্রকল্পের আওতায় আমার নতুন কীটি সংরক্ষণ করেছি। এরপরে আমি আর আমার পুরানো নিবন্ধিত API KEY সরিয়ে ফেললাম কারণ এটির আর প্রয়োজন নেই।

  3. ম্যানিফেস্ট ফাইলের অধীনে আমি এই নতুন এক্সএমএল ফাইলটি তৈরি স্ট্রিং শর্টকাটের সাথে পুরানো এপিআই কেইওয়াই মানটি প্রতিস্থাপন করেছি: android:value="@string/google_maps_key"কেইওয়াকে সরাসরি উল্লেখ না করে।

  4. অবশেষে, নতুন মানচিত্রটি সরান, তবে সেই প্রক্রিয়াতে তৈরি হওয়া এক্সএমএল ফাইলটি রাখুন।

দ্রষ্টব্য: এইভাবে API কেইওয়াই তৈরি করে শংসাপত্রগুলির অধীনে সীমাবদ্ধতা কলাম, এখন "অ্যান্ড্রয়েড অ্যাপস" বলেছে। এর আগে, যখন কলামটি কাজ করে না তখন "অ্যান্ড্রয়েড অ্যাপস, 1 এপিআই" বা অনুরূপ কিছু লেখা হয়েছিল। আমি জানি না যে এটি কোনও পার্থক্য করে কিনা। দ্রষ্টব্য: না, এর অর্থ হ'ল আমার কাছে এই এপিআই কী (কনসোল -> এপিআই কী -> কী বিধিনিষেধ -> এপিআই বিধিনিষেধ) এর জন্য একটি নির্দিষ্ট এপিআই নির্বাচিত নেই।

দ্রষ্টব্য: এটি ম্যানিফেস্ট ফাইলের অধীনে মেটা-ডেটা ট্যাগের মতো দেখাচ্ছে:

android:name="com.google.android.maps.v2.API_KEY

দ্বারা প্রতিস্থাপন করা হয়েছে:

android:name="com.google.android.geo.API_KEY"

আমি অনুমান করি যে উভয়ই ব্যবহার করা যেতে পারে তবে পরে ব্যবহার শুরু করা থেকে এটি আরও ভাল।

দ্রষ্টব্য: অ্যান্ড্রয়েড -> ডিফল্টকনফিগ -> অ্যাপ্লিকেশন আইনের অধীনে বিল্ড.gradle ফাইলে বর্ণিত মানটি শংসাপত্রের পৃষ্ঠাতে প্যাকেজ নামের পাঠ্যের সাথে মেলে ।


এটি আমার ক্ষেত্রে ঠিক কী হয়েছিল এবং এই সমাধানটি কনসোল থেকে সতর্কবার্তা ঠিক করেছিল। কোনওভাবে অয়নিক বিল্ড এটি পরিবর্তন করেছে।
স্পেসম্যান

8 ঘন্টা অনুসন্ধানের পরে, আমি ফিরে তাকান এবং এই সমাধানটি প্রয়োগ করি। Solved!!!
মায়াসির

3

আপনার প্রকাশিত ফাইলে এটি কেবল যুক্ত করুন:

**<uses-library android:name="com.google.android.maps" />**

উদাহরণ স্বরূপ...

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".California"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

এবং দয়া করে আপনার গুগল প্লে পরিষেবা লাইব আপডেট করুন ... উইন্ডোতে যান -> অ্যান্ড্রয়েড এসডিকে ম্যানেজার-> গুগল প্লে পরিষেবা আপডেট করুন ... এটি ইনস্টল করুন ... পুরানোটি মুছুন এবং এটিকে রাখুন। এন্ড্রয়েড-এসডিকে-ডিরেক্টরেটি / এক্সট্রা / গুগল / গুগল_প্লে_সার্ভিসেস / থেকে নিন

ধন্যবাদ..প্লে করুন


3

আমি এই ত্রুটিটি ম্যানিফেস্ট এবং অ্যাপ্লিকেশনে প্যাকেজের নাম পরীক্ষা করে সমাধান করেছি build.gradle

প্রকাশিত:

আমি একটি প্যাকেজ নাম ব্যবহার করছি:

com.app.triapp

অ্যাপ্লিকেশন বিল্ড।

 defaultConfig {

        applicationId "com.app.live"
    }

পরিবর্তিত পর com.app.triappbuild.gradle, আমার সমস্যা সমাধান।


4
অনেক ধন্যবাদ. আপনি আমার টন সময় বাঁচান।
ইয়েখিন

4
দুর্দান্ত ভাই। আমার সবকিছু ঠিক আছে,
এটির

2

আমি গুগল ম্যাপের ভি 1 থেকে ভি 2 এ স্থানান্তর করছি। আমি এই ব্যর্থতাটি Eclipse এর মাধ্যমে অ্যাপটি চালানোর চেষ্টা করছিলাম। আমার মূল কারণটি হ'ল অ্যাল্রয়েড ডিবাগ কীস্টোরের চেয়ে আমার রিলিজ শংসাপত্রের কীস্টোরটি ব্যবহার করা যা আপনি যখন এটি গ্রহণের মাধ্যমে চালাবেন তখন কী ব্যবহৃত হবে। নিম্নলিখিত কমান্ড (ওএসএক্স / লিনাক্স) আপনাকে ডিবাগ কীস্টোরের SHA1 কীটি পাবেন:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

আপনি যদি এর পরিবর্তে উইন্ডোজ 7 ব্যবহার করেন তবে আপনি এই আদেশটি ব্যবহার করবেন:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

অ্যান্ড্রয়েড সুরক্ষা শংসাপত্রগুলি ক্যাশে করায় কোনও নতুন কী দিয়ে চেষ্টা করার আগে আপনার অ্যাপ্লিকেশনটিকে আপনার ডিভাইস থেকে সম্পূর্ণ আনইনস্টল করা ভাল।


1

"java.lang.NoClassDefFoundError: com.google.android.gms.R $ স্টাইলযোগ্য"

এটিরও এই ত্রুটি ছিল, আপনার দরকার: ফাইল -> আমদানি -> বিদ্যমান ওয়ার্কস্পেসে বিদ্যমান অ্যান্ড্রয়েড কোড -> ব্রাউজ করুন -> অ্যান্ড্রয়েড এসডিএস -> অতিরিক্ত -> গুগল -> google_play_services -> lib_project -> google_play_services_lib এবং ঠিক আছে। প্রকল্পটি দেখুন এবং সমাপ্তি।

প্রকল্পটি প্যাকেজ এক্সপ্লোরারে যায়। এখন আপনার প্রোজেক্টে যান (ত্রুটি সহ) -> বৈশিষ্ট্য -> অ্যান্ড্রয়েড এবং লাইব্রেরিতে অ্যাড ক্লিক করুন ... গুগল_প্লে_সারিজ_লিব থাকা উচিত! যোগ করুন এবং আবার চেষ্টা করুন :)


1

আমারও একই সমস্যা ছিল কিন্তু এটি নিষ্কাশিত কারণ আমি প্রায় অনুরূপ প্যাকেজের নাম সঙ্গে একই রয়েছে SHA-1 আঙুলের ছাপ দিয়ে দুটি ভিন্ন মানচিত্র API কীগুলির নির্মিত যে এটি ছিল com.bla.blaএবং অন্যান্য com.bla.bla.something


0

আমার ঠিক একই সমস্যা ছিল এবং আমার কেবলমাত্র MapsApiV2 এর লাইব্রেরী প্রকল্পের জন্য এসডিকে সেট করতে হবে অ্যান্ড্রয়েড 2.3.3 এ (এপিআই lvl 10)


আমি এই জিনিসগুলি মনে করতে পারি না
Informatic0re

0

আমারও একই প্রশ্ন ছিল. প্রায় দুই ঘন্টা গুগল করার পরে, পুনরায় চেষ্টা করা, এপিআই কীটি বহুবার পুনরুত্পাদন করা ইত্যাদি i আমি গুগল ম্যাপস এপিআই ভি 2 পরিষেবা সক্ষম করেছিলাম তবে অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলির জন্য আপনাকে গুগল ম্যাপস অ্যান্ড্রয়েড এপিআই ভি 2 ব্যবহার করতে হবে । সঠিক পরিষেবা সক্ষম করার পরে সমস্ত কাজ শুরু করে।


0

আপনার ECLIPSE SHA1 KEY পরিবর্তিত হতে পারে, সুতরাং আপনাকে অবশ্যই এখানে নতুন SHA1 কী দিয়ে আপনার গুগল কীটি পুনরায় তৈরি করতে হবে: https://console.developers.google.com/project/watchful-net-796/apiui/credential এর পরে, নতুন কীটি অনুলিপি করুন প্রকাশের জন্য এবং এই গুগল পৃষ্ঠাটি কয়েকবার পুনরায় লোড করুন এবং আপনার কী আপডেট হবে, আপনার প্রকল্পটি পুনর্নির্মাণ করবে, এটি কার্যকর হবে। পি / এস: আমার ত্রুটির জন্য, আমি .অ্যান্ড্রয়েড ফোল্ডারটি মুছে ফেললাম তাই গ্রহন করুন রেজেন এসএএএ 1।


0

আমি গুগল ডক্সে প্রদত্ত একই পদক্ষেপটি অনুসরণ করেছি তবে আমি একই ত্রুটি পাচ্ছিলাম। পরে আমি বুঝতে পেরেছিলাম যে আমি আমার অ্যাপ্লিকেশনটির সাথে আমার অ্যাপ্লিকেশনটি কিনছি key

সুতরাং আমি কেবল ফাইল signingConfig signingConfig.genericদ্বারা এটিকে সরিয়েছি build.gradleএবং আমার মানচিত্রটি সূক্ষ্মভাবে কাজ করতে শুরু করেছে।

আশা করি এটি কাউকে সাহায্য করবে।


0

আমি একই সমস্যা সম্মুখীন।

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


0

আমার জন্য, সবকিছু এমুলেটর এবং শারীরিক ডিভাইসে উভয়ই কাজ করছিল।

যাইহোক, নতুন এপিআই স্তর সহ এমুলেটরটিতে একই অ্যাপটি ডিবাগ করার জন্য যখন আমি একটি দ্বিতীয় মেশিন স্থাপন করি তখন এটি আমার পক্ষে কাজ করা বন্ধ করে দেয়।

আমি বুঝতে পারি নি যে সেই মেশিনটির জন্য আঙুলের ছাপ বদলেছে। ডিভাইস লগে প্রমাণীকরণ ব্যর্থতা ত্রুটি লগটি দেখার পরে আমি আমার গুগল বিকাশকারী কনসোলের ফিঙ্গারপ্রিন্টটিকে ত্রুটির বার্তায় থাকা একটির সাথে ঘনিষ্ঠভাবে তুলনা করেছি। আমি যখন পার্থক্যটি দেখলাম তখনই। বিকাশকারী কনসোলে (প্যাকেজের নামের সাথে একত্রে) নতুন ফিঙ্গারপ্রিন্ট যুক্ত করার পরে আমার অ্যাপ্লিকেশনটি নতুন সিস্টেমে এমুলেটারে প্রত্যাশা অনুযায়ী কাজ করা শুরু করে।

সুতরাং আপনি যদি একটি নতুন সিস্টেম সেট আপ করেন তবে আপনার ফিঙ্গারপ্রিন্টগুলি আবার পরীক্ষা করুন!


0
  • নিশ্চিত হয়ে নিন যে মানচিত্রগুলি SDK for AndroidAPI কনসোলে সক্ষম রয়েছে।
  • আপনার কী পুরোপুরি সক্ষম করার জন্য আপনার প্যাকেজের নাম এবং SHA-1 স্বাক্ষর-শংসাপত্রের ফিঙ্গারপ্রিন্ট যুক্ত করতে পারে।

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

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