অ্যান্ড্রয়েড বিকাশের জন্য জাভা 8 ব্যবহার করা কি সম্ভব?


609

ওয়েব অনুসন্ধান করে জাভা 8 অ্যান্ড্রয়েড বিকাশের জন্য সমর্থিত কিনা তা পরিষ্কার নয়।

আমি জাভা 8 ডাউনলোড / সেটআপ করার আগে জাভা 8 হ'ল অ্যান্ড্রয়েড বিকাশের জন্য সমর্থনযোগ্য নয় এমন কোনও "অফিসিয়াল" ডকুমেন্টেশনে আমাকে এক নির্দেশ করতে পারে।


21
আমি অফিসিয়াল স্টেটমেন্ট সম্পর্কে জানি না তবে আমার কাছে জাভা 8 (এডিট: জেডিকে 8) আমার জন্য অ্যান্ড্রয়েড এসডিকে নিয়ে দুর্দান্ত কাজ করছে। উইন্ডোজ 8.1 64 বিট এখানে।
হোয়াং হুইন


2
@ হোয়াংহুইন আপনি অ্যান্ড্রয়েড বিকাশের জন্য 6 বা ততোধিক জেডিকে ব্যবহার করতে পারেন। তবে সংকলনটি জাভা সংস্করণ 6 (এবং কিটকাটের ক্ষেত্রে 7) সমর্থন করে। আমি মনে করি ওপি বলতে যা বোঝাচ্ছে তা জাভা সংস্করণের জন্যও (
জেডিকে

13
জাভা 8 সরকারীভাবে অ্যান্ড্রয়েড এন.এন্ড্রয়েড
জয়

উত্তর:


189

জাভা 8

অ্যান্ড্রয়েড সমস্ত জাভা 7 ভাষার বৈশিষ্ট্য এবং জাভা 8 ভাষার বৈশিষ্ট্যগুলির প্ল্যাটফর্ম সংস্করণ অনুসারে পৃথক করে set

জাভা 8 এর কোন বৈশিষ্ট্য সমর্থিত তা পরীক্ষা করতে

জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করুন

আমরা জাভা 8 ভাষার বৈশিষ্ট্যগুলির জন্য সরাসরি বর্তমান জাভ্যাক এবং ডিএক্স সরঞ্জামগুলির সেটগুলিতে সমর্থন যুক্ত করার এবং জ্যাক সরঞ্জামচেনকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছি। এই নতুন দিকনির্দেশের সাথে, জাভা ক্লাস ফাইল ফর্ম্যাটের উপর নির্ভরশীল বিদ্যমান সরঞ্জাম এবং প্লাগইনগুলি কাজ করা অব্যাহত রাখতে হবে। এগিয়ে যাওয়া, জাভা 8 ভাষা বৈশিষ্ট্যগুলি অ্যান্ড্রয়েড বিল্ড সিস্টেম দ্বারা স্থানীয়ভাবে সমর্থিত হবে। আমরা আসন্ন সপ্তাহগুলিতে অ্যান্ড্রয়েড স্টুডিওর অংশ হিসাবে এটি চালু করার লক্ষ্য রেখেছি এবং আমরা এই সিদ্ধান্তটি আপনার সাথে ভাগ করে নিতে চাই।

জাভা এর ভবিষ্যত 8 অ্যান্ড্রয়েডে ভাষা বৈশিষ্ট্য সমর্থন

গ্রহন ব্যবহারকারী:

পুরাতন বিকাশকারীরা যারা Eclipse পছন্দ করেন তাদের জন্য Google Eclipse Android বিকাশকারী সরঞ্জামগুলি সমর্থন বন্ধ করে

যদি আপনি জাভা 8 JDK ইনস্টল, তারপর এটা ব্যবহার করে দেখুন, কোন সমস্যা প্রদর্শিত হয় কম্পাইলার → উইন্ডোতে মেনু থেকে অন্ধকার মধ্যে 1.6 হিসাবে সেট করতে চেষ্টা যদি দিতে পছন্দসমূহজাভাকম্পাইলার । জাভা 7 এছাড়াও কাজ করবে:

গ্রহণের পছন্দসমূহ -> জাভা -> সংকলক

আপনি যদি অ্যান্ড্রয়েড 5.0 বা তার চেয়ে বেশি উচ্চতার লক্ষ্য করে থাকেন তবে জাভা 7 বা তার বেশি প্রয়োজন।

একাধিক জেডিকে ইনস্টল করুন এবং চেষ্টা করুন।


2
জাভা 8 কি বাইটকোডের কাজ করার পদ্ধতি পরিবর্তন করেছে? যদি না হয়, তাত্ত্বিকভাবে জাভাটির যে কোনও সংস্করণটি সংকলন করা উচিত, ততক্ষণ ঠিক করা উচিত।
বেন লেগিগেরো

6
সঠিক প্রশ্নটি হ'ল: যদি আপনি অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরি করতে জাভা 8 তে নতুন বৈশিষ্ট্য ব্যবহার করেন না তবে এটি ঠিক আছে কি? নিরাপদ পক্ষ হতে সরকারী নির্দেশাবলী অনুসরণ করুন।
ইঞ্জি। সমর টি

12
@ BenC.R.Leggiero সেখানে জাভা 8 কোন নতুন বাইটকোড, কিন্তু নির্দেশাবলী 'অর্থ এবং কাঠামো পরিবর্তন করা হয়েছে stackoverflow.com/questions/28228450/... stackoverflow.com/questions/16143684/...
phuclv

17
দয়া করে আপনার উত্তরে "আপডেট এন" পোস্ট করবেন না। আপ-টু-ডেট তথ্য রাখতে এটি পুনরায় লিখুন। অন্যথায়, এসও কয়েক বছরের মধ্যে যে ফোরামগুলি ছাড়িয়েছিল তার কাছ থেকে তথ্য পাওয়া ততটাই কঠিন হয়ে উঠবে।
আলেকসান্দ্র ডাবিনস্কি

1
উত্তর আপডেট করা প্রয়োজন। জাভা 8 উইন্ডো অ্যান্ড্রয়েড স্টুডিও 3.0 এবং গ্রেডল প্লাগইন 3.0 হিসাবে সমর্থিত।
27 Мазуревич

350

আপডেট 2017/11/04 - অ্যান্ড্রয়েড স্টুডিও 3.0 এর জাভা 8 এর gradle-retrolambda জন্য এখন স্থানীয় সমর্থন রয়েছে। এখন আর দরকার নেই। Https://developer.android.com/studio/write/java8-support.html দেখুন

উপরের লিঙ্কটিতে মাইগ্রেশন নির্দেশাবলীও অন্তর্ভুক্ত রয়েছে যদি আপনি ব্যবহার করছেন gradle-retrolambda। নীচে মূল উত্তর:


অ্যান্ড্রয়েড জাভা ৮ সমর্থন করে না এটি কেবল জাভা 7 পর্যন্ত সমর্থন করে (যদি আপনার কিটক্যাট থাকে) এবং এখনও এটিতে নতুন নতুন সিনট্যাক্স চিনির চালান নেই oked

আপনি যদি অ্যান্ড্রয়েডে জাভা 8 এর অন্যতম প্রধান বৈশিষ্ট্য ল্যাম্বডাস ব্যবহার করতে চান তবে আপনি গ্রেডেল-রেট্রোলাম্বা ব্যবহার করতে পারেন । এটি একটি গ্রেড বিল্ড নির্ভরতা যা রেট্রোলম্বদা সংহত করে, এটি একটি সরঞ্জাম যা জাভা 8 বাইটকোডকে জাভা 6/7 এ ফিরে রূপান্তর করে। মূলত, আপনি যদি জাভা 8 বাইটকোড সংকলনের জন্য অ্যান্ড্রয়েড স্টুডিওতে সংকলকটি সেট করেন, এভাবে ল্যাম্বডাসকে অনুমতি দেয় তবে এটি এটি আবার জাভা 6/7 বাইটকোডে রূপান্তরিত করবে যা পরে ডালভিক বাইটকোডে রূপান্তরিত হয়। আপনি আনুষ্ঠানিক সমর্থনের পরিবর্তে অ্যান্ড্রয়েডে কিছু জেডিকে 8 বৈশিষ্ট্য ব্যবহার করে দেখতে চাইলে এটি হ্যাক।


13
এটিকে কাজ করার জন্য এটি কিছুটা সংগ্রাম ছিল, কিন্তু একবার আমি সত্যিকার অর্থে সঠিকভাবে কাজ করেছিলাম followed Eclipse ব্যবহারকারীদের জন্য নোট: গ্রহনটি এটির সাথে ভালভাবে কাজ করে না, আমি অ্যান্ড্রয়েড স্টুডিওতে স্থানান্তরিত করার পরামর্শ দিচ্ছি (আমি Eclipse মিস করব, তবে এটি এখনি এভাবেই হবে!)
সাইমন ফোর্সবার্গ

2
নিতপিক: জাভা 7 এর মাল্টি-ক্যাচ ক্লজগুলি অ্যান্ড্রয়েড দ্বারা সমর্থিত নয়।
csvan

11
মাল্টি ধরা সমর্থিত, অ্যান্ড্রয়েড দ্বারা সমর্থিত নয় শুধুমাত্র JDK7 বৈশিষ্ট্যটি ব্যবহার করে দেখুন-সঙ্গে-সম্পদ নেই
Matthieu Harle

12
জাভা 7 অ্যান্ড্রয়েডের সমস্ত সংস্করণ নিয়ে কাজ করছে। একটি ব্যতিক্রম: try-with-resourcesকেবলমাত্র ক্যাটকাট থেকেই কাজ করে।
দিমিত্রি জায়েতসেভ

2
@ সিমন আন্দ্রে ফোর্সবার্গ (সাবধানতা: নির্লজ্জ প্লাগ!) - জাভা 8 স্ট্রিম এপিআই সমর্থন না করার জন্য, আপনি সোর্সফোর্জ . नेट / প্রজেক্টস / স্ট্রিম সাপোর্টে আমার লাইব্রেরিটি ব্যবহার করতে পারেন - এটি স্পষ্টভাবে অ্যান্ড্রয়েডের পক্ষে সমর্থনকে সম্বোধন করে।
স্টিফান জোবেল

99

gradle-retrolambaঅ্যান্ড্রয়েড বিকাশের জন্য জাভা 8 ব্যবহার করতে আপনি প্রকৃতপক্ষে গ্রেড বিল্ড নির্ভরতা ব্যবহার করতে পারেন।

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

এই গাইডটিতে অ্যানড্রয়েড ডেভলপমেন্ট সরঞ্জামগুলিতে কিছু জাভা 8 বৈশিষ্ট্য আনার জন্য একটি পদ্ধতি প্রদর্শিত হবে, যা নির্দিষ্ট করে Eclipse IDE লক্ষ্য করে । তবে, এই গাইড জুড়ে বর্ণিত পদক্ষেপগুলি গুগলের নতুন বিদ্রোহ বিকাশের পরিবেশ, অ্যান্ড্রয়েড স্টুডিওতেও খাপ খাইয়ে নেওয়া যেতে পারে। এটি জেটব্রেইনসের জনপ্রিয় ইন্টেলিজ আইডিয়া আইডিইটির সম্প্রদায় সংস্করণ ভিত্তিক এবং এটি গাইড লেখার সামান্য আগে গুগলের দ্বারা সম্প্রতি এটির 'বিটা' সংস্করণে আপগ্রেড করা হয়েছে। কমপক্ষে কিছুক্ষণের জন্য গ্রহনটি বিশিষ্ট বিকাশের পরিবেশ হিসাবে থাকবে এবং বেশিরভাগ অ্যান্ড্রয়েড প্রকল্পগুলি Eclipse ব্যবহার করে বিকাশ করা হয়েছে তা বিবেচনা করে, এডিটিতে ল্যাম্বডা এক্সপ্রেশনগুলির মতো নতুন জাভা 8 বৈশিষ্ট্য আনার একটি পদ্ধতি বিকাশকারীদের পক্ষে বেশ কার্যকর বলে মনে হচ্ছে।

অ্যান্ড্রয়েড ডেভেলপমেন্ট অ্যাপাচি হারমনি প্রজেক্ট নামে একটি কাস্টম জাভা প্রয়োগের উপর ভিত্তি করে তৈরি করা হয়েছে যা ২০১১ সালে আবার সমাপ্ত হয়েছিল Android KitKat সংস্করণ (অ্যান্ড্রয়েড 4.4। +)। সুতরাং, ল্যাম্বডা এক্সপ্রেশনগুলির মতো জাভা 8 বৈশিষ্ট্যগুলি বিকাশের সরঞ্জামগুলিতে কিছু টুইট প্রয়োগ না করে সরাসরি অ্যান্ড্রয়েড অ্যাপ বিকাশে সরাসরি ব্যবহার করা যাবে না। ভাগ্যক্রমে, এই নির্মাণগুলি মূলত কিছু 'সিনট্যাকটিক চিনির' বর্ধন যা বিকাশকারীদেরকে 'বেনামে ক্লাস' এর মতো জিনিসগুলির ঘাটতি দেয় এবং সেগুলি জাভা 6 বা জাভা 7 শ্রেণিতে অনুবাদ করা যায়।

নিম্ন জাভা সংস্করণ মধ্যে একটি জাভা 8 সোর্স কোড অনুবাদ জন্য একটি সাম্প্রতিক পদ্ধতির বলা হয় RetroLambda । এই লাইব্রেরিটি বিকাশকারীদের জাভা 7 বা তার থেকেও কম ল্যাম্বদা এক্সপ্রেশন সহ জাভা 8 কোড চালায় makes দুর্ভাগ্যক্রমে, ল্যাম্বডা এক্সপ্রেশন ব্যতীত জাভা 8 বৈশিষ্ট্যগুলি আপাতত রেট্রো ল্যাম্বদা দ্বারা সমর্থিত নয় তবে জাভা 8 প্ল্যাটফর্মের ল্যাম্বডা এক্সপ্রেশনগুলির ধারণাটি সবচেয়ে বড় লাফ এবং এটি অ্যান্ড্রয়েড বিকাশকারীদের পক্ষে এটি দুর্দান্ত সরঞ্জাম।

এই গ্রন্থাগার সম্পর্কে বিশদটি তার গিটহাব পৃষ্ঠায় পাওয়া যাবে:

https://github.com/orfjackal/retrolambda#getting-started

এছাড়াও, অন্য বিকাশকারী দ্বারা তৈরি রেট্রোলেম্বড্ডার জন্য একটি গ্রেডল প্লাগইন জাডিয়া বা অ্যান্ড্রয়েড প্রকল্পগুলিতে গ্রেডল ভিত্তিক বিল্ডগুলি প্রয়োগ করার অনুমতি দেয়। তবে বিকাশকারী এই প্লাগইনটিকে অ্যান্ড্রয়েড স্টুডিও পরিবেশে একীভূত করার বিষয়ে কেবল উল্লেখ করেছেন। বিশদটি এর গিটহাব পৃষ্ঠায় পাওয়া যাবে:

https://github.com/evant/gradle-retrolambda

একটি গ্রহ-ভিত্তিক বিকাশের পরিবেশের মধ্যে এই অবকাঠামোগুলি ব্যবহার করে সরাসরি যোগাযোগ করা যায় না তবে এটি করণীয় এবং এই গাইড জুড়ে প্রদর্শিত হবে।

প্রস্তুতি

এই গাইডটি ধরে নিয়েছে যে পাঠকের অ্যান্ড্রয়েড বিকাশের একটি প্রাথমিক ধারণা রয়েছে এবং এটি এডিটি সংস্করণ 22.6.2 এর উপর ভিত্তি করে কারণ সাম্প্রতিক এডিটি সংস্করণ 23.0.2 লেআউট ফোল্ডার তৈরির মতো সমস্যা রয়েছে বলে মনে হয়। এই সমস্যা সম্পর্কে বিশদটি নীচের লিঙ্কের অধীনে পাওয়া যাবে:

http://code.google.com/p/android/issues/detail?id=72591

এই গাইডের পদক্ষেপগুলি একটি উইন্ডোজ 8.1, 64-বিট বিকাশ মেশিনের জন্য দেওয়া হবে তবে এগুলি সহজেই অন্যান্য প্ল্যাটফর্মগুলির সাথে মানিয়ে নিতে পারে। নতুন বিল্ড সিস্টেমটি Gradleবিল্ড / ক্লিন প্রক্রিয়াগুলির জন্য ব্যবহৃত হবে এবং এর ইনস্টলেশন প্রক্রিয়াটিও সরবরাহ করা হবে। এছাড়াও, উভয় JDK 8এবং JDK 7অবশ্যই বিকাশ মেশিনে সহাবস্থান করতে হবে। সেগুলি ইনস্টল করার জন্য নীচে প্রদত্ত পদক্ষেপগুলি অনুসরণ করতে হবে:

  • জেডিকে 8 প্রারম্ভিক অ্যাক্সেস পূর্বরূপ পৃষ্ঠা http://jdk8.java.net যান
  • JDK 8u20 ডাউনলোড করুন এবং এটি ইনস্টল করুন। জেআরই 8 ইনস্টলেশনটি প্রয়োজনীয় নয় এবং এটি এড়িয়ে যেতে পারে
  • JDK 7 সর্বশেষ স্থিতিশীল মুক্তি পৃষ্ঠাতে যান http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
  • জেডিকে 7u65 ডাউনলোড করুন এবং এটি ইনস্টল করুন। জেআরই 7 ইনস্টলেশন আবার প্রয়োজনীয় নয় এবং এটি এড়ানো যায়
  • JDK 8 বাড়িতে ফোল্ডার এবং JDK 8 যোগ করুন binফোল্ডারের আপনার টু %PATH%পরিবর্তনশীল
  • JAVA_HOMEজেডিকে 8 হোম ফোল্ডারের পাথের মান সহ একটি নতুন পরিবেশের পরিবর্তনশীল তৈরি করুন
  • JAVA8_HOMEজেডিকে 8 হোম ফোল্ডারের পাথের মান সহ আবার একটি নতুন পরিবেশের পরিবর্তনশীল তৈরি করুন
  • JAVA7_HOMEজেডিকে 7 হোম ফোল্ডারের পাথের মান সহ একটি নতুন পরিবেশের পরিবর্তনশীল তৈরি করুন
  • একটি টার্মিনাল উইন্ডো এবং রান java -versionকমান্ডটি খুলুন এবং জাভা 8 চালু এবং চলমান যাচাই করুন
  • javac -versionএকই উইন্ডোতে কমান্ড চালান এবং যাচডি 8 জাভা সংকলকটিও আপ এবং চলমান রয়েছে তা যাচাই করুন

এখন, ADT-22.6.2 অবশ্যই নিম্নলিখিত লিঙ্ক থেকে ডাউনলোড করতে হবে:

http://dl.google.com/android/adt/22.6.2/adt-bundle-windows-x86_64-20140321.zip

  • ADT ডাউনলোড করুন এবং এর সামগ্রীগুলি একটি ফোল্ডারে আনজিপ করুন, যেমন D:\adt
  • ANDROID_HOMEআপনার ADT ইনস্টলেশন ফোল্ডারের পাথের মান সহ একটি নতুন পরিবেশের পরিবর্তনশীল সংজ্ঞা দিন egD:\adt\sdk
  • আপনার Andoid SDK Platform Toolsএবং Andoid SDK Toolsফোল্ডারগুলি, যেমন D:\adt\sdk\toolsএবং D:\adt\sdk\platform-toolsআপনার %PATH%ভেরিয়েবলে যুক্ত করুন
  • আপনার পছন্দ হলে Eclipse IDE এ একটি শর্টকাট তৈরি করুন। এটি আপনার ADT ইনস্টলেশন ফোল্ডারের নীচে অবস্থিত, যেমনD:\adt\eclipse
  • Eclipse IDE চালান এবং একটি কর্মক্ষেত্র তৈরি করুন, যেমন D:\adt\workspace
  • Android SDK Managerটুলবারে অবস্থিত বোতামটি ক্লিক করুন
  • নির্বাচন করুন Android SDK Build tools Rev. 19.1এবং Android Support Libraryশুধুমাত্র। অন্য সমস্ত কিছুই নির্বাচন করুন এবং এই দুটি প্যাকেজ ইনস্টল করুন।

যদি সবকিছু ঠিকঠাক হয় তবে এডিটি আপ এবং চলমান থাকবে।

নিম্নলিখিত সরঞ্জামগুলির ইনস্টলেশনটিও সুপারিশ করা হয়:

  • এক্সিলিপ কেপলার জাভা 8 সহায়তা: এটি গ্রহটিকে নতুন জাভা 8 সিনট্যাক্স এক্সটেনশনগুলি স্বীকৃতি দেয় red dotsএবং আপনার জাভা কোড সম্পাদকে বিরক্তিকর হাত থেকে মুক্তি পেতে পারে । এটি Help -> Install New SoftwareEclipse এর মাধ্যমে ইনস্টল করা হতে পারে । ক্ষেত্রের মধ্যে http://download.eclipse.org/eclipse/updates/4.3-P-builds/ লিখুন Work withএবং এটি ইনস্টল করা চালিয়ে যান।

  • নোডক্লিপস / এনিড গ্রেডল: এটি মূলত গ্রোভির ভাষার কীওয়ার্ড হাইলাইট করার জন্য ব্যবহৃত হয়। গ্রোভি গ্রেডল বিল্ড স্ক্রিপ্টগুলির জন্য ডিএসএল হিসাবে ব্যবহৃত হয়। এই প্লাগইন মাধ্যমে ইনস্টল করা যেতে পারে Eclipse Marketplace। তবে, এডিটি -২২.২.২ এর মধ্যে গ্রহনটি একই সাথে আসে না Eclipse Marketplace Client। সুতরাং, আপনাকে প্রথমে Eclipse এ সরঞ্জামের Eclipse Marketplace Clientমাধ্যমে ইনস্টল করতে হবে Install New SoftwareWork withফিল্ডে http //: download.eclipse.org/mpc/kepler/ লিখুন এবং এটি ইনস্টল করা চালিয়ে যান। ইনস্টল করার পরে Eclipse Marketplace Client, আপনি অনুসন্ধান করতে পারেন Nodeclipse/Enide Gradleমধ্যে Eclipse Marketplace Clientএবং এটি ইনস্টল করুন।

  • জিনমোশন ভার্চুয়াল ডিভাইস: এটি ডিফল্টর একটি দুর্দান্ত প্রতিস্থাপন Android Virtual Deviceযা এটিডিটির সাথে আসে। এভিডি বিরক্তিকরভাবে কষ্টকর এবং এটি কোনও কারণ ছাড়াই ক্রাশ চালিয়ে যায়। জিনমোশন আপনাকে অ্যান্ড্রয়েড ভিডি এর ব্যবহারকারীর CyanogenModচিত্রগুলি তৈরি করতে সহায়তা করে যা ওরাকল ভার্চুয়ালবক্স দ্বারা কার্যকর করা হয় । এর একক ব্যবহারকারী লাইসেন্সটি নিখরচায় এবং এটি http://www.genymotion.com থেকে ডাউনলোড করা যায় । শুধুমাত্র একটি লগইন প্রয়োজন এবং এটি গ্রহণেও একীভূত হতে পারে। বিস্তারিত নীচে পাওয়া যাবে:

https://cloud.genymotion.com/page/doc/#collapse8

নীচে একটি অ্যান্ড্রয়েড 4.3 ভিত্তিক সায়ানোজেনমড ভার্চুয়াল ডিভাইসের স্ক্রিনশট রয়েছে,

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

এটি একটি x86 বা x64 ভিত্তিক ব্যক্তিগত কম্পিউটারে চলমান একটি সম্পূর্ণ-অজানা Android ডিভাইস হিসাবে বিবেচিত হতে পারে। Google PlayStoreএই ভার্চুয়াল ডিভাইসের মতো গুগল পরিষেবাগুলি ব্যবহার করতে , gappsঅ্যান্ড্রয়েড সংস্করণে এটি ব্যবহার করে এমন কোনও চিত্র অবশ্যই ডিভাইসে ফ্ল্যাশ করা উচিত। gappsসায়ানোজেনমড ওয়েবসাইট থেকে ডিভাইসটির জন্য একটি উপযুক্ত চিত্র ডাউনলোড করা যেতে পারে:

http://wiki.cyanogenmod.org/w/Google_Apps

গ্রেডেল ইনস্টলেশনটি isচ্ছিক কারণ এটি নিজেও অ্যান্ড্রয়েড এসডিকে সরবরাহ করে তবে এর পৃথক ইনস্টলেশনটি সুপারিশ করা হয়। এই ইনস্টলেশনটি এই পদক্ষেপগুলি অনুসরণ করে পরিচালিত হতে পারে:

  • গ্রেডল ওয়েব সাইটে যান: http://www.gradle.org/

  • ক্লিক Downloads

  • Previous Releasesসংস্করণ ১.১০ এর অধীনে চয়ন করুন এবং গ্রেডল -১.১০-১০-১০-০. সমস্ত জিপ বা গ্রেডেল -১.১০-বিিন.জিপ ডাউনলোড করুন
  • এর সামগ্রীগুলি কোনও ফোল্ডারে আনজিপ করুন, যেমন D:\adt\gradle
  • GRADLE_HOMEআপনার গ্রেডেল ইনস্টলেশন ফোল্ডারের পাথের মান সহ একটি নতুন পরিবেশের পরিবর্তনশীল সংজ্ঞা দিন egD:\adt\gradle
  • আপনার গ্রেডল বাইনারি ফোল্ডার যুক্ত করুন, যেমন D:\adt\gradle\binআপনার %PATH%ভেরিয়েবলটিতে
  • একটি টার্মিনাল উইন্ডো খুলুন এবং gradle -vকমান্ড রান করুন এবং তা যাচাই করা আছে কিনা তা যাচাই করুন যদি আপনি সফলভাবে এই মুহুর্তে পৌঁছেছেন তবে এর অর্থ হ'ল আপনি জাভা 8 বৈশিষ্ট্য ব্যবহার করে আপনার প্রথম অ্যান্ড্রয়েড অ্যাপ তৈরি করতে প্রস্তুত।

ডেমো অ্যাপ্লিকেশন

পূর্ববর্তী বিভাগে বর্ণিত সরঞ্জামগুলির ব্যবহার প্রদর্শনের জন্য একটি সাধারণ অ্যাপ তৈরি করা হবে। অ্যান্ড্রয়েড বিকাশকারী সরঞ্জামগুলিতে ল্যাম্বডা এক্সপ্রেশন ব্যবহার সম্পর্কে অন্তর্দৃষ্টি পেতে আপনি কেবল নীচের দেওয়া পদক্ষেপগুলি অনুসরণ করতে পারেন:

  • Eclipse IDE চালান এবং নির্বাচন করে একটি নতুন অ্যান্ড্রয়েড অ্যাপ তৈরি করুন File -> New -> Other -> Android -> Android Application Project
  • নীচের প্রদর্শিত হিসাবে ফর্মটি পূরণ করুন:

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

  • কেবলমাত্র Nextনিম্নলিখিত ফর্মগুলির Finishবোতামটি ক্লিক করুন এবং শেষের একটিতে বোতামটি ক্লিক করুন। এডিটি প্রকল্পটি লোড করা শেষ না হওয়া পর্যন্ত অপেক্ষা করুন
  • প্রকল্পে ডান ক্লিক করুন New -> Folderএবং এটি নির্বাচন করুন এবং নাম দিনbuilders
  • gen (Generated Java Files)ফোল্ডারে ডান ক্লিক করুন এবং এটি মুছুন। গ্রেডল শীঘ্রই আমাদের জন্য একই ফাইলগুলি তৈরি করবে এবং আমরা s build path. Theএগুলিকে প্রজেক্ট জেনার ফোল্ডারে যুক্ত করব ডিফল্ট পিঁপড়া নির্মাতার দ্বারা তৈরি করা আর দরকার নেই এবং সেই ফোল্ডারের নীচে নিদর্শনগুলি অপ্রচলিত হবে
  • buildersফোল্ডারের নীচে নিম্নলিখিত ব্যাচ ফাইলগুলি তৈরি করুন :

    • gradle_build.cmd
    • gradle_post_build.cmd
    • gradle_clean.cmd
  • এই ব্যাচ ফাইলগুলি নিম্নলিখিত হিসাবে পূরণ করুন:

gradle_build.cmd:

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

gradle_post_build.cmd:

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

gradle_clean.cmd:

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

  • Project -> Build Automaticallyমেনু অপশনটি নির্বাচন করুন
  • প্রকল্পটিতে ডান ক্লিক করুন এবং নির্বাচন করুন Properties -> Buildersএবং ADT দ্বারা সরবরাহিত সমস্ত ডিফল্ট বিল্ডার নির্বাচন করুন
  • Newএকই উইন্ডোতে বোতামটি ক্লিক করুন এবং নির্বাচন করুন Programএবং ক্লিক করুনOK
  • নতুন নির্মাতা কনফিগারেশন উইন্ডো প্রদর্শিত হবে। এর ট্যাবগুলি নীচে পূরণ করুন:

Main নতুন নির্মাতা কনফিগারেশনের ট্যাব

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

Refresh নতুন নির্মাতা কনফিগারেশনের ট্যাব

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

Environment নতুন নির্মাতা কনফিগারেশনের ট্যাব

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

Build Options নতুন নির্মাতা কনফিগারেশনের ট্যাব

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

  • দ্বিতীয় নির্মাতাকে তৈরি করুন যা এটির প্রোগ্রাম হিসাবে Gradle_Post_Buildব্যবহার gradle_post_build.cmdকরে। এই বিল্ডারের অন্যান্য সমস্ত সেটিংস অবশ্যই পূর্ববর্তী নির্মিত বিল্ডারের সাথে একই রকম হতে হবে। এই বিল্ডারটি বিল্ড প্রক্রিয়া দ্বারা তৈরি শিল্পকর্মগুলি binফোল্ডারে অনুলিপি করার জন্য দায়বদ্ধ হবে ।
  • তৃতীয় বিল্ডার তৈরি করুন যা এর প্রোগ্রাম হিসাবে Gradle_Cleanerব্যবহার gradle_clean.cmdকরে। শুধুমাত্র Run the builderচূড়ান্ত ট্যাবে সেটিংস হিসাবে সেট করা উচিত During a Clean। এই বিল্ডারের অন্যান্য সমস্ত সেটিংস অবশ্যই প্রথম নির্মাতার সাথে একই রকম হতে হবে। নাম অনুসারে বিল্ড প্রক্রিয়া দ্বারা নির্মিত শিল্পকর্মগুলি পরিষ্কার করার জন্য এই নির্মাতা দায়বদ্ধ থাকবেন।

HelloLambdaপ্রকল্পের নতুন নির্মাতারা

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

  • প্রকল্পে ডান ক্লিক করুন এবং নির্বাচন করুন Export
  • নির্বাচন করুন Android -> Generate Gradle Build Filesএবং ক্লিক করুনNext
  • পরবর্তী উইন্ডোতে প্রকল্পটি নির্বাচন করুন এবং ক্লিক করুন Finish
  • আপনার প্রকল্পের মূল ফোল্ডারে যান এবং ফাইলগুলি gradlewএবং মুছুন gradlew.batgradleফোল্ডারটিও মুছুন
  • Eclipse এ ফিরে যান এবং Project -> Cleanমেনু বিকল্পটি নির্বাচন করুন । নীচে প্রদর্শিত হবে যে ফর্ম পূরণ করুন:

Clean Project জানলা

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

  • OKপরিষ্কার এবং প্রক্রিয়া সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করুন
  • setContentViewআপনার MainActivityক্লাসে কাজ করার জন্য কলের ঠিক পরে নীচে দেওয়া জাভা কোড স্নিপেট যুক্ত করুন :

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

  • শুরুতে পরিবর্তন build.gradleপর্যন্ত ফাইল sourceCompatibilityনিম্নরূপ অধ্যায়:

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

  • প্রকল্পে ডান ক্লিক করুন এবং Properties -> Java Compilerবিকল্পটি নির্বাচন করুন এবং জাভা 8 -তে সমস্ত সম্মতি স্তরের সেট করুন This এটি গ্রীকটি ল্যাম্বডা এক্সপ্রেশনগুলির মতো নতুন জাভা 8 কনস্ট্রাক্টকে স্বীকৃতি দেবে।
  • Noবিজ্ঞপ্তি উইন্ডোতে ক্লিক করুন
  • প্রকল্পে ডান ক্লিক করুন এবং নির্বাচন করুন Build project। গ্রহনটি প্রকল্পটি নির্মাণ শুরু করবে।

নির্মাণ প্রক্রিয়া এখানে চিত্র বর্ণনা লিখুন

  • প্রকল্পে ডান ক্লিক করুন এবং যান Properties -> Java Build Path। বিল্ড পাথটিতে নিম্নলিখিত ফোল্ডারগুলি যুক্ত করুন (নীচের চিত্রেও দেখানো হয়েছে):

    • build\source\buildConfig\debug
    • build\source\r\debug

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

Eclipse এখন চিনতে R.javaএবং buildConfig.javaফাইলগুলি সক্ষম করতে সক্ষম হবে এবং এটি red dotsপ্রকল্পের রিসোর্স ফাইলগুলির সাথে সম্পর্কিত ত্রুটিগুলি বোঝায় এমন কোনও চিত্র প্রদর্শন করবে না ।

  • Run Configurationপ্রকল্পে ডান ক্লিক করে এবং তারপরে নির্বাচন করে আপনার অ্যান্ড্রয়েড টার্গেট প্ল্যাটফর্মের জন্য একটি নতুন তৈরি করুন Run As -> Run Configurations। উদাহরণস্বরূপ, এই ডেমো অ্যাপ্লিকেশনটি জিনমোশন ভিডির নীচে দেখানো মত দেখাচ্ছে:

হ্যালো ল্যাম্বদা অ্যাপ্লিকেশন

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

আপনি LogCatউইন্ডোতে লক্ষ্য করতে পারেন যে একটি সরল ল্যাম্বডা এক্সপ্রেশন সহ কোড স্নিপেট সঠিকভাবে কাজ করে

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

উত্স: অ্যান্ড্রয়েড বিকাশকারী সরঞ্জামগুলিতে জাভা 8 লাম্বদা এক্সপ্রেশন ব্যবহার করা


তবে আপনি কি কোনও অ্যান্ড্রয়েড ডিবাগার ব্যবহার করে এই কোডটি ডিবাগ করতে সক্ষম হবেন? স্ট্যাক / লাইন নম্বরগুলি উপযুক্ত নয় আমার অনুমান। অ্যান্ড্রয়েডে জাভা 8 দিয়ে বিকাশের ক্ষেত্রে একটি বড় অপূর্ণতা বলে মনে হচ্ছে।
জম্বিগুলি 17'15

2
@ জম্বিগুলি হ্যাঁ আপনি এখনও এটি ডিবাগ করতে সক্ষম। সবকিছু ঠিকঠাক কাজ করে।
কর্নিলটসেভ আনাতোলি

42

নতুন আপডেটের জন্য এই লিঙ্কটি অনুসরণ করুন। জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করুন

পুরানো উত্তর

এর হিসাবে অ্যান্ড্রয়েড এন প্রিভিউ রিলিজ অ্যান্ড্রয়েড সমর্থন সীমিত বৈশিষ্ট্য জাভা 8 দেখতে জাভা 8 ভাষা বৈশিষ্ট্য

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

সমর্থিত জাভা 8 ভাষা বৈশিষ্ট্য এবং এপিআই

অ্যান্ড্রয়েড বর্তমানে সমস্ত জাভা 8 ভাষা বৈশিষ্ট্য সমর্থন করে না। তবে অ্যান্ড্রয়েড এন পূর্বরূপ লক্ষ্য করে অ্যাপ্লিকেশনগুলি বিকাশ করার সময় নিম্নলিখিত বৈশিষ্ট্যগুলি এখন উপলভ্য:

ডিফল্ট এবং স্ট্যাটিক ইন্টারফেস পদ্ধতি

লাম্বদা এক্সপ্রেশন (এপিআই স্তরের 23 এবং নিম্নেও উপলভ্য)

পুনরাবৃত্তিযোগ্য টীকা

পদ্ধতি রেফারেন্স (এপিআই স্তরের 23 এবং নিম্নেও উপলভ্য)

কিছু অতিরিক্ত জাভা 8 বৈশিষ্ট্য রয়েছে যা অ্যান্ড্রয়েড সমর্থন করে, আপনি জাভা 8 ভাষা বৈশিষ্ট্য থেকে সম্পূর্ণ বিশদটি দেখতে পাবেন

হালনাগাদ

দ্রষ্টব্য: অ্যান্ড্রয়েড এন বেনাম ক্লাসে ল্যাম্বডা এক্সপ্রেশনগুলির প্রয়োগের ভিত্তি করে। এই পদ্ধতির সাহায্যে এন্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে পিছনের দিকে সামঞ্জস্যপূর্ণ এবং সম্পাদনযোগ্য হতে দেয়। পূর্ববর্তী সংস্করণগুলিতে ল্যাম্বডা এক্সপ্রেশন পরীক্ষা করার জন্য, আপনার বিল্ড.gradle ফাইলটিতে যেতে মনে রাখবেন এবং কম্পাইলএসডক ভার্সন এবং টার্গেটএসডিকি ভার্সন 23 বা তার চেয়ে কম সেট করুন।

আপডেট 2

এখন অ্যান্ড্রয়েড স্টুডিও 3.0 স্থিতিশীল রিলিজ জাভা 8 গ্রন্থাগার এবং জাভা 8 ভাষার বৈশিষ্ট্যগুলি সমর্থন করে (জ্যাক সংকলক ছাড়াই)।


আমি কিছু বুঝতে পারিনি। কোন প্রয়োজন আছে minSdkVersion?
উইন্ডারাইডার

আমি মনে করি কেবল ল্যাম্বডা এক্সপ্রেশনগুলি পশ্চাদপটে সামঞ্জস্যপূর্ণ, অন্যান্য জাভা 8 বৈশিষ্ট্যগুলি কেবলমাত্র এন (বা ভবিষ্যতের সংস্করণ) এ কাজ করবে। আমি এটি পরীক্ষা করিনি তবে অ্যান্ড্রয়েড ডক্স থেকে এটিই আমি বুঝতে পারি। সুতরাং, জাভা 8-র বৈশিষ্ট্যগুলির জন্য minSdkVersion হ'ল এন, ল্যাম্বডা এক্সপ্রেশন ব্যতীত

সুতরাং ... ড্যাশবোর্ডে এন নেতা হওয়ার আগ পর্যন্ত আরও কয়েক বছর। :(
উইন্ডারাইডার

দুর্ভাগ্যবশত হ্যাঁ. বা অ্যান্ড্রয়েড কোনওভাবে ল্যাম্বডারের মতো

1
@ উইন্ড্রাইডার, আপনি 15 এবং তারপরে minSdkVersion ব্যবহার করতে পারেন। বর্তমানে আমি লম্বডাসের সাথে আমার অ্যান্ড্রয়েড প্রকল্পে minSdkVersion 17 ব্যবহার করছি এবং সবকিছুই কাজ করছে।
ওয়াইয়ামিল

22

হ্যাঁ, অ্যান্ড্রয়েড জাভা 8 এখন সমর্থন করে (24.1.17)

এখন এটা সম্ভব

তবে আপনার জাভা 1.8 এ আপনার ডিভাইস রম চালানো দরকার এবং এটি চালানোর জন্য "জ্যাকঅপশনগুলি" সক্ষম করতে হবে। জাভা 8 চালিত নতুন অ্যান্ড্রয়েড সংকলকের নাম

https://developer.android.com/guide/platform/j8-jack.html

এই লাইনগুলি build_gradle এ যুক্ত করুন

    android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

জাভা 8 অ্যান্ড্রয়েড স্টুডিও ২.০ এর চলমান জাভা ইঞ্জিন বলে মনে হচ্ছে, তবে এটি পরীক্ষা করার পরেও এটি জাভা 8 এর বাক্য গঠনটি গ্রহণ করে না এবং আপনি এখন অ্যান্ড্রয়েড স্টুডিও থেকে কোনও সংকলক চয়ন করতে পারবেন না। তবে আপনার অ্যান্ড্রয়েড ক্লায়েন্টে ক্রিয়ামূলক প্রোগ্রামিংয়ের প্রয়োজন হলে আপনি স্কেলা প্লাগইনটি ব্যবহার করতে পারেন।

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



দয়া করে আপডেট অ্যান্ড্রয়েড স্টুডিও 2.0 এর জন্য এই সমাধানটি দেখুন কারণ তারা সীমিত কনফিগারেশন বিকল্পগুলিতে আপডেট করেছে।
গৌরব শর্মা

19

অ্যান্ড্রয়েড এমন একটি জাভা ব্যবহার করে যা জাভা 6 এর বাইরে শাখা করে।

অ্যান্ড্রয়েড SDK সংস্করণ 19 থেকে আপনি জাভা 7 বৈশিষ্ট্য ব্যবহার করতে পারেন এই করে । জাভা 8 (এখনও) এর জন্য কোনও সম্পূর্ণ সমর্থন নেই।


1
তুমি একজন জীবন রক্ষাকারী. আপনি কি জানেন যে এমন কিছু আছে যা একইভাবে চেষ্টা করে-সংস্থানগুলি বাস্তবায়িত করবে?
গ্যালেট

@ বুলেটগুলি এখনও কোনও উপায় নেই, তবে আমি গুগল ভবিষ্যতে কোনও সময়ে এটি যুক্ত করার জন্য বাজি ধরব। অতিরিক্ত তথ্য, দেখুন: stackoverflow.com/questions/16921337/...
chaqke

16

নেটিভ জাভা 8 অ্যান্ড্রয়েডে আগত! অবশেষে!

প্রতিটি মডিউলের বিল্ড.gradle ফাইল থেকে রেট্রোলম্বদা প্লাগইন এবং রেট্রোলেম্বদা ব্লকটি সরান:

জ্যাকটি অক্ষম করতে এবং ডিফল্ট টুলচেইনে স্যুইচ করতে, কেবলমাত্র আপনার মডিউলটির বিল্ড.gradle ফাইল থেকে জ্যাকঅপশন ব্লকটি সরিয়ে ফেলুন

সমর্থিত জাভা 8 ভাষা বৈশিষ্ট্যগুলি ব্যবহার শুরু করার জন্য, অ্যান্ড্রয়েড প্লাগইনটি 3.0.0 (বা উচ্চতর) এ আপডেট করুন

অ্যান্ড্রয়েড স্টুডিও 3.0 দিয়ে শুরু করে, জাভা 8 ভাষা বৈশিষ্ট্যগুলি এখন অ্যান্ড্রয়েড দ্বারা স্থানীয়ভাবে সমর্থিত:

  • লাম্বদা এক্সপ্রেশন
  • পদ্ধতি রেফারেন্স
  • টীকা টীকা (বর্তমানে টাইপ টীকা তথ্য রানটাইম এ উপলব্ধ হয় না শুধুমাত্র সংকলন সময়);
  • টীকাগুলি পুনরাবৃত্তি করা হচ্ছে
  • ডিফল্ট এবং স্ট্যাটিক ইন্টারফেস পদ্ধতি (এপিআই স্তর 24 বা ততোধিক, তাত্ক্ষণিকভাবে কোনও রান সমর্থন করা যায় না);

নূন্যতম এপিআই স্তর 24 থেকে নিম্নলিখিত জাভা 8 এপিআই উপলব্ধ:

  • java.util.stream
  • java.util.function
  • java.lang.FunctionalInterface
  • java.lang.annotation.Repeatable
  • java.lang.reflect.AnnotatedElement.getAnnotationsByType (ক্লাস)
  • java.lang.reflect.Method.isDefault ()

এই প্রকল্পের ভাষা স্তরের প্রকল্পটি জানানোর জন্য আপনার অ্যাপ্লিকেশন মডিউলের বিল্ড.gradle এ লাইনগুলি যুক্ত করুন:

 android {
   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }

জাভা 8 ভাষা বৈশিষ্ট্যগুলির জন্য সমর্থনটি অক্ষম করুন আপনার নিম্নলিখিতটিতে যুক্ত করে সমর্থনটি গ্রেড.প্রেপার্টি ফাইলগুলিতে অক্ষম করুন:

android.enableDesugar=false

তুমি করেছ! আপনি এখন দেশীয় জাভা 8 ব্যবহার করতে পারেন!


14

অ্যান্ড্রয়েড সরকারীভাবে অ্যান্ড্রয়েড এন হিসাবে জাভা 8 সমর্থন করে।

বৈশিষ্ট্য সংক্রান্ত ঘোষণাগুলি এখানে , জাভা 8 ভাষার ঘোষণাটি হ'ল:

জাভা 8 ভাষা সমর্থন উন্নত - আমরা জাভা 8 ভাষা বৈশিষ্ট্যগুলি অ্যান্ড্রয়েডে আনতে আগ্রহী। অ্যান্ড্রয়েডের জ্যাক সংকলক সহ, আপনি এখন জিঞ্জারব্রেড হিসাবে অনেক পিছনে অ্যান্ড্রয়েড সংস্করণে ল্যাম্বডাস এবং আরও অনেকগুলি জনপ্রিয় জাভা 8 ভাষার বৈশিষ্ট্য ব্যবহার করতে পারেন। নতুন বৈশিষ্ট্যগুলি বয়লারপ্লেট কোড হ্রাস করতে সহায়তা করে। উদাহরণস্বরূপ, ল্যাম্বডাস ইভেন্ট শ্রোতাদের প্রদানের সময় বেনামে অভ্যন্তরীণ ক্লাসগুলি প্রতিস্থাপন করতে পারে। কিছু জাভা 8 ভাষার বৈশিষ্ট্যগুলি - ডিফল্ট এবং স্থির পদ্ধতিগুলির মতো, স্ট্রিমগুলি এবং ক্রিয়ামূলক ইন্টারফেসগুলিও এখন এন এবং উপরের উপর উপলভ্য। জ্যাকের সাথে, আমরা পশ্চাদপটে সামঞ্জস্যতা বজায় রেখে আরও ঘনিষ্ঠভাবে জাভা ভাষা ট্র্যাক করার প্রত্যাশায় রয়েছি।


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

12

আমরা জাভা 8 ব্যবহার করে এটি ব্যবহার করতে পারি:

  1. বিল্ড.gradle এ (প্রকল্প: মাইপ্রজেক্ট) নিম্নলিখিত যুক্ত করুন

    classpath 'me.tatarka:gradle-retrolambda:x.x.x' //x.x.x is recent version
  2. বিল্ড.gradle এ (মডিউল: মাইমডিউল) নিম্নলিখিত যুক্ত করুন

    apply plugin: 'me.tatarka.retrolambda'
    
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

1
রেট্রো ল্যাম্বদার সুপারিশ করা প্রথম উত্তর থেকে আলাদা কী?
মার্টেন বোদেউয়েস 4'16

2
@ মার্টেনবোডউইজগুলি দেখে মনে হচ্ছে যে এটি গৃহীত উত্তরের চেয়ে অনেক সহজ হয়ে গেছে become পড়ুন medium.com/android-news/...
TechSpellBound

এটি ব্যবহার করবেন না। প্লাগিনটি বগি
অক্ষয় মুকদম

11

আপডেট 2020/01/17

অ্যান্ড্রয়েড স্টুডিও .০ তে আপনার অ্যাপ্লিকেশনটির জন্য ন্যূনতম এপিআই স্তরের প্রয়োজন ছাড়াই ডিজুগারিং নামক কৌশল ব্যবহার করে বেশ কয়েকটি জাভা 8 ভাষা এপিআই ব্যবহারের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে :
https://developer.android.com/studio/preview/features#j8-desugar

নীচের API গুলি এই রিলিজটিতে সমর্থিত:

  • অনুক্রমিক স্ট্রিম ( java.util.stream)
  • এর একটি উপসেট java.time
  • java.util.function
  • সাম্প্রতিক সংযোজন java.util.{Map,Collection,Comparator}
  • বিকল্পগুলি ( java.util.Optional, java.util.OptionalIntএবংjava.util.OptionalDouble ) এবং কিছু অন্যান্য নতুন শ্রেণীর উপরে API গুলির সাথে দরকারী
  • কিছু সংযোজন java.util.concurrent.atomic(নতুন পদ্ধতি AtomicInteger, AtomicLongএবং AtomicReference)
  • ConcurrentHashMap (অ্যান্ড্রয়েড 5.0 এর জন্য বাগ ফিক্স সহ)

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

এই ভাষা API গুলি সমর্থন সক্ষম করতে, আপনার মডিউল এর build.gradleফাইলের মধ্যে নিম্নলিখিত অন্তর্ভুক্ত করুন:

android {
  defaultConfig {
    // Required when setting minSdkVersion to 20 or lower
    multiDexEnabled true
  }

  compileOptions {
    // Flag to enable support for the new language APIs
    coreLibraryDesugaringEnabled true
    // Sets Java compatibility to Java 8
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

dependencies {
  coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.4'
}

আসল পোস্ট থেকে 2017

অ্যান্ড্রয়েড স্টুডিও 3.0 জাভা 8 ভাষার বৈশিষ্ট্যগুলির জন্য অন্তর্নির্মিত সমর্থন সরবরাহ করতে শুরু করেছে, যা:

  • লাম্বদা এক্সপ্রেশন
  • পদ্ধতি রেফারেন্স
  • টিকা টীকাগুলি (তথ্য সংকলন সময়ে পাওয়া যায়, কিন্তু রানটাইম এ নয়)
  • টীকাগুলি পুনরাবৃত্তি করা হচ্ছে
  • ডিফল্ট এবং স্ট্যাটিক ইন্টারফেস পদ্ধতি

এপিআই স্তর 24 থেকে শুরু করে নিম্নলিখিত জাভা 8 এপিআই উপলব্ধ:

  • java.util.stream
  • java.util.function
  • java.lang.FunctionalInterface
  • java.lang.annotation.Repeatable
  • java.lang.reflect.AnnotatedElement.getAnnotationsByType(Class)
  • java.lang.reflect.Method.isDefault()

তদ্ব্যতীত, try-with-resourcesসমর্থনটি সমস্ত অ্যান্ড্রয়েড এপিআই স্তরে প্রসারিত হয়েছিল।

ভবিষ্যতে আরও জাভা 8 বৈশিষ্ট্য যুক্ত করার প্রতিশ্রুতি দেওয়া হয়েছে।

সমর্থিত জাভা 8 ভাষা বৈশিষ্ট্যগুলি ব্যবহার শুরু করার জন্য, অ্যান্ড্রয়েড প্লাগইনটি 3.0.0-alpha1 (বা উচ্চতর) এ আপডেট করুন এবং আপনার মডিউলটির বিল্ড.gradle ফাইলটিতে নিম্নলিখিতটি যুক্ত করুন:

android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

আরও তথ্যের জন্য এখানে যান:
https://developer.android.com/studio/write/java8-support.html


আমি যা পাই না তা হ'ল, অ্যান্ড্রয়েড স্টুডিওটির জাভা 8 সাপোর্টের সাথে কী করার আছে (এর আগে ইন্টেলিজ ছিল না) ?! এর অর্থ কি এই যে আমি প্রকল্পটি সংকলনের জন্য টার্মিনালে গ্রেডেল ব্যবহার করি এটি সংকলন করবে না ?!
সিজারফেরির

1
@cesarferreira আপনার অ্যান্ড্রয়েড প্লাগইনটি সর্বশেষ সংস্করণে আপডেট করতে হবে (যা এই মুহূর্তে রয়েছে 2.4.0-alpha6)। উত্তরে উদ্ধৃতি ব্লক চেক করুন।
আইডলন

মডিউলে এটি যুক্ত করা (অ্যাপ নয়) আমি কাজ করছি catch অ্যাপ্লিকেশন মডিউলটিতে যুক্ত করা কোনও উপকারে আসেনি।
সুরেখা

6

সহজ পথ

আপনি অ্যান্ড্রয়েড প্রকল্পের জন্য জাভা 1.8 সমর্থন সক্ষম করতে পারেন।

  • প্রকল্পের কাঠামো খুলুন

    • হয় চাপ দিয়ে Ctrl + Shift + Alt + S

    • অথবা File > Project Structure

  • আপডেট করুন উত্স সামঞ্জস্যের এবং উদ্দিষ্ট সামঞ্জস্যের জন্য 1.8 প্রকল্প গঠন ডায়ালগে হিসাবে দেখানো (ক্লিক ফাইল> প্রকল্প গঠন)।

ভাবমূর্তি

অথবা আপনি গ্রেড ব্যবহার করতে পারেন

 android {
   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }

সিঙ্ক প্রকল্প। এবং এটাই!

দ্রষ্টব্য: জাভা 1.8 সমর্থন অ্যান্ড্রয়েড স্টুডিও 3.0.০.০ বা তারও বেশি ক্ষেত্রে সক্ষম করা যেতে পারে । আরও পড়ার জন্য ডকুমেন্টেশন দেখুন ।


এই সমাধান আমার জন্য কাজ stackoverflow.com/a/55467237/4698320
ডেনিশ শর্মা

5

আমি যখন প্রায় 2 বছর আগে এই প্রশ্নটি জিজ্ঞাসা করেছি তখন উত্তরটি সত্যই "অফিশিয়ালি" ছিল না, তবে ekcr1 এর উত্তরের দ্বারা নির্দেশিত হিসাবে আপনি রেট্রোলাম্বা ব্যবহার করেন তবে আপনি কাজ করতে খুব সর্বাধিক প্রত্যাশিত বৈশিষ্ট্যগুলির একটি (ল্যাম্বডাস) পেতে পারেন। সেই সময়টিতে আমি তখনও গ্রহনটি ব্যবহার করছিলাম, যেমন অ্যান্ড্রয়েড স্টুডিওটি "পূর্বরূপ" মোডে ছিল, তাই আমি কখনই এই পথটি অনুসরণ করি নি।

আজ, আমি মনে করি "সরকারী" উত্তরটি এখনও নেই, এবং রেট্রোলাম্বা এখনও ভাল পথে যাওয়ার মতো মনে হচ্ছে, কিছুটা "সরকারী" পথে নামতে ইচ্ছুকদের জন্য আরও একটি বিকল্প আছে, নামক কোটলিন।

আজ কোটলিন পৌঁছেছে 1.0.0। কোটলিনের সাথে পরিচিত নন, তাদের ওয়েবসাইটে এখানে আরও তথ্য পাওয়া যাবে:

https://kotlinlang.org

বা জ্যাক ওয়ার্টন প্রদত্ত একটি টকের এই ইউটিউব ভিডিওটি দেখুন

https://www.youtube.com/watch?v=A2LukgT2mKc


4

সর্বশেষ সংবাদ:

গুগল ঘোষণা করেছে যে অ্যান্ড্রয়েড এন এবং অ্যান্ড্রয়েড স্টুডিও ২.১+ এর সাথে প্ল্যাটফর্মটি জাভা ৮ সমর্থন করবে Also এছাড়াও স্টুডিও ২.১ এর স্থিতিশীল সংস্করণ প্রকাশ করা হয়েছে।

শেষ পর্যন্ত আমরা ল্যাম্বদা এক্সপ্রেশন ব্যবহার করতে পারি। লুপের জন্য আর কোনও তালিকা ফিল্টার নেই। Horeeey।


4

এই কনফিগারটি বিল্ড.gradle যোগ করুন এবং গ্রেড সিঙ্ক করুন:

android {
    ...
    defaultConfig {
        ...
        jackOptions {
            enabled true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // or
        //sourceCompatibility 1.8
        //targetCompatibility 1.8
    }
}

1
এটি অ্যান্ড্রয়েড প্রকল্পগুলির জন্য জাভা 8 এর জন্য সমর্থন যুক্ত করার সঠিক উপায়। খারাপ দিকটি হ'ল জ্যাক সক্ষম করার সময় তাত্ক্ষণিকভাবে রান চালানো হয় না।
আয়নুত নেগ্রু

সম্পূর্ণ সমর্থন করবেন না।
আহমদ আগজাদেহে

2

গুগল সবেমাত্র ঘোষণা করেছে যে জাভা 8 অ্যান্ড্রয়েড দ্বারা স্থানীয়ভাবে সমর্থন করবে এবং জ্যাক টুলচেনটি হ্রাস করবে:

আমরা জাভা 8 ভাষার বৈশিষ্ট্যগুলির জন্য সরাসরি বর্তমান জাভ্যাক এবং ডিএক্স সরঞ্জামগুলির সেটগুলিতে সমর্থন যুক্ত করার এবং জ্যাক সরঞ্জামচেনকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছি। এই নতুন দিকনির্দেশের সাথে, জাভা ক্লাস ফাইল ফর্ম্যাটের উপর নির্ভরশীল বিদ্যমান সরঞ্জাম এবং প্লাগইনগুলি কাজ করা অব্যাহত রাখতে হবে। এগিয়ে যাওয়া, জাভা 8 ভাষা বৈশিষ্ট্যগুলি অ্যান্ড্রয়েড বিল্ড সিস্টেম দ্বারা স্থানীয়ভাবে সমর্থিত হবে। আমরা আসন্ন সপ্তাহগুলিতে অ্যান্ড্রয়েড স্টুডিওর অংশ হিসাবে এটি চালু করার লক্ষ্য রেখেছি এবং আমরা এই সিদ্ধান্তটি আপনার সাথে ভাগ করে নিতে চাই।

এখানে আরও তথ্য: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html


2

হ্যাঁ. আমরা শীঘ্রই জাভা 8 ব্যবহার করব!

আমরা জাভা 8 ভাষার বৈশিষ্ট্যগুলির জন্য সরাসরি বর্তমান জাভ্যাক এবং ডিএক্স সরঞ্জামগুলির সেটগুলিতে সমর্থন যুক্ত করার এবং জ্যাক সরঞ্জামচেনকে অবমূল্যায়ন করার সিদ্ধান্ত নিয়েছি। এই নতুন দিকনির্দেশের সাথে, জাভা ক্লাস ফাইল ফর্ম্যাটের উপর নির্ভরশীল বিদ্যমান সরঞ্জাম এবং প্লাগইনগুলি কাজ করা অব্যাহত রাখতে হবে। এগিয়ে যাওয়া, জাভা 8 ভাষা বৈশিষ্ট্যগুলি অ্যান্ড্রয়েড বিল্ড সিস্টেম দ্বারা স্থানীয়ভাবে সমর্থিত হবে। আমরা আসন্ন সপ্তাহগুলিতে অ্যান্ড্রয়েড স্টুডিওর অংশ হিসাবে এটি চালু করার লক্ষ্য রেখেছি এবং আমরা এই সিদ্ধান্তটি আপনার সাথে ভাগ করে নিতে চাই।

https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html


2

মডিউল lvl বিল্ড গ্রেডেল এই লাইন যোগ করুন

compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }


1

আমি লিখেছেন অনুরূপ উত্তর একটি থেকে অনুরূপ প্রশ্ন স্ট্যাক ওভারফ্লো উপর, কিন্তু এখানে যে উত্তর অংশ।

অ্যান্ড্রয়েড স্টুডিও 2.1:

অ্যান্ড্রয়েড স্টুডিওর নতুন সংস্করণে (২.১) জাভা 8 বৈশিষ্ট্যের জন্য সমর্থন রয়েছে। এখানে অ্যানড্রয়েড বিকাশকারীদের ব্লগস্পট পোস্ট থেকে একটি নির্যাস দেওয়া হয়েছে :

... অ্যান্ড্রয়েড স্টুডিও 2.1 প্রকাশে নতুন জ্যাক সংকলক এবং জাভা 8 এর জন্য সমর্থন অন্তর্ভুক্ত রয়েছে ।

...

এন বিকাশকারী পূর্বরূপের সাথে বিকাশ করার সময় জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করতে, আপনাকে জ্যাক সংকলকটি ব্যবহার করতে হবে। নতুন প্রকল্প উইজার্ড [ফাইল → নতুন → প্রকল্প] এন লক্ষ্যবস্তু প্রকল্পগুলির জন্য সঠিক কনফিগারেশন তৈরি করে


অ্যান্ড্রয়েড স্টুডিও 2.1 এর আগে:

অ্যান্ড্রয়েড এখনও জাভা 1.8 সমর্থন করে না (এটি কেবল 1.7 পর্যন্ত সমর্থন করে), তাই আপনি জাভা 8 বৈশিষ্ট্যগুলি ল্যাম্বডাসের মতো ব্যবহার করতে পারবেন না।

এই উত্তরটি অ্যান্ড্রয়েড স্টুডিওর সামঞ্জস্যের বিষয়ে আরও বিশদ দেয় ; এতে বলা হয়েছে:

যদি আপনি অ্যান্ড্রয়েডে জাভা 8 এর অন্যতম প্রধান বৈশিষ্ট্য ল্যাম্বডাস ব্যবহার করতে চান তবে আপনি গ্রেড-রেট্রোলাম্বা ব্যবহার করতে পারেন

আপনি ব্যবহার সম্পর্কে আরও জানতে চান gradle-retrolambda, এই উত্তর যে করছেন উপর বিস্তারিত অনেক দেয়


হাই ফারবড! আমি অ্যান্ড্রয়েডস্টুডিও ২.২.২ ব্যবহার করছি আমার "SDK Location"(এটি ম্যাক এফডাব্লুআইডাব্লুতে রয়েছে) কেবল আমি "/Users/me/Library/Android/sdk" কি জাভা 8 ব্যবহার করছি - জাভা 8 কীভাবে ব্যবহার করবেন ?? ধন্যবাদ!
ফ্যাটি

1

আমি অনুভব করেছি যে আমি কিছু বেশি বর্তমানের জন্য কিছু খুঁজছি তাদের জন্য একটি আপডেট উত্তর পোস্ট করব।

বর্তমানে অ্যান্ড্রয়েড এবং অ্যান্ড্রয়েড স্টুডিও জাভা 8 বৈশিষ্ট্যের একটি উপসেটটি সমর্থন করছে। তাদের ওয়েবসাইটে থাকা অ্যান্ড্রয়েড ডকুমেন্টেশন অনুসারে গুগল বলেছে:

জাভা 8 ভাষার বৈশিষ্ট্যগুলির জন্য সহায়তার জন্য জ্যাক নামে একটি নতুন সংকলক প্রয়োজন। জ্যাকটি কেবলমাত্র অ্যান্ড্রয়েড স্টুডিও ২.১ এবং এর চেয়ে বেশি ক্ষেত্রে সমর্থিত। সুতরাং আপনি যদি জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করতে চান তবে আপনার অ্যাপটি তৈরি করতে আপনার অ্যান্ড্রয়েড স্টুডিও ২.১ ব্যবহার করতে হবে use

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

সমর্থিত জাভা 8 ভাষা বৈশিষ্ট্য এবং এপিআই

অ্যান্ড্রয়েড সমস্ত জাভা 8 ভাষার বৈশিষ্ট্যগুলিকে সমর্থন করে না। তবে অ্যান্ড্রয়েড .0.০ (এপিআই স্তর 24) লক্ষ্য করে অ্যাপ্লিকেশনগুলি বিকাশ করার সময় নিম্নলিখিত বৈশিষ্ট্যগুলি উপলভ্য:

  • ডিফল্ট এবং স্ট্যাটিক ইন্টারফেস পদ্ধতি লাম্বদা এক্সপ্রেশন (এপিআই স্তরের 23 এবং নিম্নের ক্ষেত্রেও উপলব্ধ)
  • পুনরাবৃত্তিযোগ্য টীকা
  • পদ্ধতি রেফারেন্স (এপিআই স্তরের 23 এবং নিম্নেও উপলভ্য)
  • টিকা টীকাগুলি (এপিআই স্তরের 23 এবং নিম্নেও উপলভ্য)

অতিরিক্ত হিসাবে, নিম্নলিখিত জাভা 8 ভাষার এপিআইও উপলব্ধ:

প্রতিবিম্ব এবং ভাষা সম্পর্কিত API গুলি:

  • java.lang.FunctionalInterface
  • java.lang.annotation.Repeatable
  • java.lang.reflect.Method.isDefault () এবং AnnotatedElement.getAnnotationsByType (Class) এর মতো পুনরাবৃত্তিযোগ্য টীকাগুলির সাথে সম্পর্কিত রিফ্লেকশন এপিআই

ইউটিলিটি এপিআই:

  • java.util.function
  • java.util.stream

নতুন জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করার জন্য, আপনাকে জ্যাক টুলচেনও ব্যবহার করতে হবে । এই নতুন অ্যান্ড্রয়েড টুলচেনটি জাভা ভাষার উত্সগুলি অ্যান্ড্রয়েড-পঠনযোগ্য ডেক্স বাইটকোডে সংকলন করে, এর নিজস্ব। জ্যাক লাইব্রেরি ফর্ম্যাট রয়েছে এবং একক সরঞ্জামের অংশ হিসাবে সর্বাধিক সরঞ্জামচয়ন বৈশিষ্ট্য সরবরাহ করে: রিপ্যাকেজিং, সঙ্কুচিত, অবসন্নকরণ এবং মাল্টিডেক্স।

অ্যান্ড্রয়েড ডেক্স ফাইলগুলি তৈরি করতে ব্যবহৃত দুটি সরঞ্জামচেনের একটি তুলনা এখানে দেওয়া হয়েছে:

Legacy javac toolchain:
    javac (.java  .class)  dx (.class  .dex)
    New Jack toolchain:
    Jack (.java  .jack  .dex)

1

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

যারা এখনও এই বিষয়টির সন্ধান করেন তাদের জন্য আমি কেবল একটি উত্তর যুক্ত করতে চেয়েছিলাম। 5/17/2017 পর্যন্ত গুগল ঘোষণা করেছে যে কোটলিন অ্যান্ড্রয়েড বিকাশের জন্য একটি সরকারী ভাষাও।

আমি কোনও অফিসিয়াল প্রেস বিজ্ঞপ্তি পাইনি, তবে আমি যেখানে গুগল আই / ও ভিডিও ঘোষণা করেছি সেখানে কিছু দেখেছি । ঘোষণায় কোটলিন টিমের একটি ব্লগ পোস্টের লিঙ্ক এখানে ।


1

নিম্নলিখিতগুলি যুক্ত করা আমার জন্য সমস্যার সমাধান করেছে (অ্যান্ড্রয়েড স্টুডিও ২.৩.২):

build.gradle (প্রকল্প)

buildscript {
repositories {
    ...
    jcenter()
}
dependencies {
    ...
    classpath 'me.tatarka:gradle-retrolambda:3.4.0' // DEPENDENCY
    ...
   }
}

build.gradle (মডিউল: অ্যাপ)

apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda' //PLUGIN

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    } // SET JAVA VERSION
    ...
}

1

জাভা 8 এর একটি উপসেট এখন অ্যান্ড্রয়েড স্টুডিওতে সমর্থিত। কেবল নীচের উইন্ডো থেকে উত্স এবং লক্ষ্য সামঞ্জস্যের সামঞ্জস্য করুন:

ফাইল -> প্রকল্পের কাঠামো

সামঞ্জস্য উইন্ডো

আরও তথ্য নীচের লিঙ্কে দেওয়া হয়েছে।

https://developer.android.com/studio/write/java8-support.html


1

আপডেট করুন 2019/10/28

অ্যান্ড্রয়েড স্টুডিও 4.0 এই সমস্যাটি সমাধান করে

D8 সংকলক সংকলনের সময় আপনার APK এ জাভা 8 নেটিভ API এর একটি ব্যাকপোর্ট প্যাচ করে এবং আপনার অ্যাপ্লিকেশন রানটাইমের সময় নেটিভ এপিআইয়ের পরিবর্তে কোডটি ব্যবহার করবে। প্রক্রিয়াটি ডেসুগারিং বলে


0

উপরের সমস্ত সমাধান 2019 সালে সর্বশেষতম অ্যান্ড্রয়েড স্টুডিও 3.4+ দিয়ে কাজ করে বলে মনে হচ্ছে না ।

আপনার অ্যান্ড্রয়েড প্রকল্পটি জাভা 8 এ স্থানান্তরিত বা আপগ্রেড করার জন্য আমি একটি নিখুঁত এবং আপ টু ডেট সমাধান বের করেছি ।

সমাধান: এ ক্লিক করুন ফাইল -> প্রজেক্টের গঠন -> মডিউল -> প্রোপার্টি ট্যাব।

পরিবর্তন উত্স সামঞ্জস্যের এবং উদ্দিষ্ট সামঞ্জস্যের জন্য 1.8 (জাভা 8)

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


0

হ্যাঁ, আপনি অ্যান্ড্রয়েড স্টুডিওতে জাভা 8 ভাষা বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন তবে সংস্করণটি অবশ্যই 3.0 বা তার বেশি হবে। অ্যান্ড্রয়েড স্টুডিওতে জাভা 8 বৈশিষ্ট্য কীভাবে ব্যবহার করতে হয় তার জন্য এই নিবন্ধটি পড়ুন।

https://bijay-budhathoki.blogspot.com/2020/01/use-java-8-language-features-in-android-studio.html


-1

জাভা 8 সমর্থন যুক্ত করার সহজ উপায়

 compileOptions {
    targetCompatibility = '1.8'
    sourceCompatibility = '1.8'
 }

এটি আপনার বিল্ড.gradle ফাইলটিতে যুক্ত করুন।


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