AppCompatActivity.onCreate কেবল একই গ্রন্থাগার গোষ্ঠীর মধ্যে থেকে কল করা যেতে পারে


107

অ্যাপক্যাম্পটে আপগ্রেড করার পরে 25.1.0আমি তারযুক্ত ত্রুটিগুলি পেতে শুরু করেছি।

আমার কোডে:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

আমি লিঙ্ক ত্রুটি পেয়েছি:

AppCompatActivity.onCreate can only be called from within the same library group (groupId=com.android.support)

কীভাবে এ জাতীয় আচরণ রোধ করা যায়?


6
প্রতিস্থাপন invalidateOptionsMenu()সঙ্গে supportInvalidateOptionsMenu()। এটি কাজটি করা উচিত
ᴛʜᴇᴘᴀᴛᴇʟ

1
আমি আমার কোডে এই জাতীয় পদ্ধতি ব্যবহার করি না
পিক্সেল

3
এটি একটি বাগের মতো শোনাচ্ছে: কোড. google.com/p/android/issues/detail?id=230387
ফিলিপ লিমা

উত্তর:


94

যেমন ফিলিপ ইতিমধ্যে তার মন্তব্যে নির্দেশ করেছেন এটি সরঞ্জামগুলির প্রাক-প্রকাশ সংস্করণে একটি বাগ

আপনার প্রকল্প মডিউলের বিল্ড.gradle ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করে গুগল কোনও সমাধান ছাড়ার আগ পর্যন্ত আপনি এটি আপাতত কার্যকর করতে পারেন:

android {
  lintOptions {
    disable 'RestrictedApi'
  }
}

এটি আপনার প্রজেক্টে সত্য ত্রুটিগুলি যেমন এই ধরণের সমস্ত ত্রুটিগুলি দমন করে তাই এটি লুকিয়ে রাখতে পারে, তাই অ্যান্ড্রয়েড স্টুডিওর সংস্করণ এবং প্রকল্পে ব্যবহৃত সরঞ্জামগুলিকে ডাউনগ্রেড করার জন্য আরও ভাল বিকল্প হবে।


5
আমি নীচে @ সিবিআরের উত্তরটি পরামর্শ দেব, এটি কেবল পদ্ধতি স্তরে দমন করে, এবং এটি অ্যানড্রয়েড স্টুডিও 3 এ বিপরীতে কাজ করে //noinspection RestrictedApi
সাকিবয়

137

পূর্ববর্তী প্রতিক্রিয়াগুলি হাইলাইট হিসাবে, এটি বাগ। আমি নির্দিষ্ট লিঙ্ক সতর্কতা প্রকল্প-ব্যাপী অক্ষম না করার পরামর্শ দিই, তবে কেবল সেই পদ্ধতির জন্য। আপনার পদ্ধতিটি নীচে উল্লেখ করুন:

@SuppressLint("RestrictedApi")
@Override
public void setupDialog(Dialog dialog, int style) {
    super.setupDialog(dialog, style);
    //your code here
}

4
এই উত্তরটি সর্বোত্তম কারণ এটি বিশ্বব্যাপী অক্ষম করে না, এটি আইডিইতে এবং সংকলনের সময় ত্রুটি / সতর্কতা সমাধান করে, এটি বোঝা সহজ কারণ এটি স্পষ্টভাবে পদ্ধতির শীর্ষে তালিকাভুক্ত করা হয়েছে (এর বিপরীতে //noinspection RestrictedApiকোনও মন্তব্য হিসাবে লুকানো নেই, এবং কেবল আইডিইতে সতর্কতাটি স্তব্ধ করে দেয়, তবে সংকলনের সময় নয়) এবং এটি অ্যান্ড্রয়েড স্টুডিও এবং গ্রেডলের নতুনতম সংস্করণে কাজ করে।
সাকিবয়

1
এই উত্তরটি ব্যবহার করা উচিত। প্রকল্পে কোনও বৈশ্বিক অক্ষম করার জন্য কখনই ভাল ধারণা নেই।
ক্রিস্টোফার স্মিথ

1
আপনি পুরো পদ্ধতিটি দমন করার পরিবর্তে আপনার প্রয়োজন সেই লাইনেও আপনি এই টিকাটি ব্যবহার করতে পারেন
বেন কেন

64

LintOptions এ সতর্কতা অক্ষম করা ভাল বিকল্প মনে হচ্ছে না বিবৃতি স্তরে পরিদর্শন দমন করা ভাল।

এই মন্তব্যটি কোডের রেখার উপরে যুক্ত করুন যা সতর্কতা দেয়:

//noinspection RestrictedApi

2
আমি এই এক সাথে যাচ্ছি। আমি বিশ্বব্যাপী lintOptions অক্ষম না করার জন্য ভাল সমাধান হতে পারে। ধন্যবা
Yoraco গনজালেস

4
অ্যান্ড্রয়েড স্টুডিওতে কাজ করে না 3.. কিছু পরিবর্তন ছিল?
ভোভোস্ট ইস্ট

13
@vovahost আমি ব্যবহার @SuppressLint("RestrictedApi")পরিবর্তে //noinspection RestrictedApiঅ্যান্ড্রয়েড স্টুডিও 3 কোন সমস্যার সঙ্গে
ভেক্টর

1
হ্যাঁ নিশ্চিত, এটি আমার পক্ষেও কাজ করে তবে // ননস্পেকশন কেবল একটি বিবৃতিতে কাজ করে যা আরও ভাল।
ওয়াওয়োস্ট ইস্ট

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