অ্যান্ড্রয়েড স্টুডিওতে একটি গ্রন্থাগার প্রকল্প এবং লাইব্রেরি প্রকল্পটি ব্যবহার করে এমন একটি অ্যাপ্লিকেশন প্রকল্প কীভাবে তৈরি করবেন


164

আমি গ্রেড বিল্ড সিস্টেম এবং ইন্টেলিজজে নতুন।

তাহলে আমি কীভাবে একটি অ্যান্ড্রয়েড লাইব্রেরি প্রকল্প (উদাহরণস্বরূপ com.myapp.lib1) এবং অ্যাপ্লিকেশন প্রকল্পটি (যেমন com.myapp.app) তৈরি করব এবং বিল্ড সিস্টেমটিকে অ্যাপ্লিকেশন প্রকল্পে com.myapp.lib1 অন্তর্ভুক্ত করব?

আমি প্রকল্পের কাঠামো -> মডিউলগুলি -> আমার অ্যাপ্লিকেশন প্রকল্পে গিয়ে লিব প্রকল্পে একটি নির্ভরতা যুক্ত করেছি। অ্যাপ্লিকেশন প্রকল্পে ব্যবহার করার সময় ইন্টেলিজ এখন লিব প্রকল্প থেকে ক্লাসগুলি সনাক্ত করতে পারে, তবে আমি যখন অ্যাপ্লিকেশন প্রকল্পটি চালাচ্ছি তখন এর মতো ত্রুটি রয়েছে:

Gradle: error: package com.myapp.lib1 does not exist

1
আমি আমার অ্যাপ্লিকেশনটির ফ্রি / পেইড সংস্করণগুলি তৈরি করতে অ্যান্ড্রয়েড লাইব্রেরিগুলি ব্যবহার করছিলাম। নতুন গ্রেডল বিল্ড সিস্টেম বিল্ড ভেরিয়েন্ট ধারণার সাথে এই পদ্ধতিকে অচল করে দেয়। আপনি এখন একই কোড থেকে আলাদা আলাদা স্বাক্ষরিত APK গুলি তৈরি করতে পারেন। আমি আশা করি আমি তাড়াতাড়ি জানতে পারতাম।
6:36 এ চেকসেনসেশন

1
@ থেচেন্সেসেশন - আপনি কি আরও বিস্তারিত বলতে পারবেন? পূর্ণ সংস্করণের জন্য APK আপলোড করার পরে, আমি বিনামূল্যে সংস্করণে APK আপলোড করার চেষ্টা করেছি, তবে একই প্যাকেজের নাম ব্যবহার করছি। গুগল প্লে স্টোর (জিপিএস) আমাকে বার্তা দিয়েছে যে আমি ইতিমধ্যে সেই প্যাকেজের নামটি ব্যবহার করেছি। গ্রেড সম্পর্কে আপনি যা বলছেন তার অর্থ কি দুটি পৃথক প্যাকেজে আমার দুটি পৃথক অ্যাপের প্রয়োজন নেই?
DSlomer64

এখানে নিখুঁত উত্তর stackoverflow.com/a/31366602/1118772 । আকিব মমতাজ উত্তরে উল্লেখ করেছেন, তবে তা শেষ। অন্যান্য উপায়ে সময় নষ্ট করার পরিবর্তে আপনি এই সাথে যেতে পারেন। দার্শনিকহ্যাকার.কম
2014/10/06/12

আকর্ষণীয় থ্রেড লাইব্রেরিগুলি যুক্ত করে pict চিত্রের ব্যাখ্যা সহ।
হরিশ

উত্তর:


111

একটি লাইব্রেরি তৈরি করতে:

ফাইল> নতুন মডিউল

অ্যান্ড্রয়েড লাইব্রেরি নির্বাচন করুন

lib

লাইব্রেরিটি ব্যবহার করতে এটি নির্ভরতা হিসাবে যুক্ত করুন:

ফাইল> প্রকল্পের কাঠামো> মডিউল> নির্ভরতা

প্রস্থাঃ

তারপরে মডিউল (অ্যান্ড্রয়েড লাইব্রেরি) মডিউল নির্ভরতা হিসাবে যুক্ত করুন।

মডিউল যোগ করুন

আপনার প্রকল্প চালান। এটা কাজ করবে


194
এটি প্রকল্পের মধ্যে মডিউল ফাইল তৈরি করে। আপনি যদি চান যে মডিউলটি প্রকল্পের বাহ্যিক যাতে এটি অন্য অ্যাপ্লিকেশনটির সাথে ব্যবহার করা যায়?
rrbrambley

2
@ অরব্র্যাম্বেলি: আমি একাধিক প্রকল্পে একটি মডিউল পুনরায় ব্যবহার করার একটি উপায় খুঁজে পেয়েছি। আমি উইন্ডোজের জন্য উইনবোলিক লিঙ্ক নামে একটি অ্যাপ্লিকেশন ব্যবহার করে (এনটিএফএস জংশন) ফোল্ডার লিঙ্ক তৈরি করেছি। যখন আমার একটি মডিউল থাকবে যা আমি একাধিক প্রকল্পে পুনরায় ব্যবহার করতে চাই, আমি প্রতিটি প্রকল্পের ডিরেক্টরিতে এটি ব্যবহার করতে হবে এমন ডিরেক্টরিতে পুনরায় ব্যবহৃত হওয়া প্রকল্পের একটি ফোল্ডার লিঙ্ক তৈরি করি। এর পরে আমি মডিউল নির্ভরতা যুক্ত করব (আন্দ্রে Stud স্টুডিওতে)। সিঙ্ক থাকা অবস্থায় এখন আমি প্রতিটি প্রকল্পের মডিউলটি ব্যবহার / সম্পাদনা করতে পারি। এটি যাওয়ার সঠিক উপায় কিনা তা নিশ্চিত নন, তবে আপাতত এটি বেশ ভালভাবে কাজ করছে বলে মনে হচ্ছে! এটি স্থানীয় মেভেন রেপোর চেয়ে আরও ভাল কাজ করে।
পিটার

1
দুর্ভাগ্যক্রমে, ২০১৪ সালের জুলাই পর্যন্ত, স্ক্রিনির মতো কোনও প্রকল্প সেটিংস আর নেই। নীচে গ্রেকইঞ্জাইনারের উত্তরের মতো আমাকে .grad ফাইলগুলি সম্পাদনা করতে হবে।
টিম ব্রে

24
এটি কোনও ভোট দেওয়া উচিত কারণ এটি বিদ্যমান প্রকল্পের মধ্যে থেকে একটি মডিউল তৈরি করে
জোনাথন

2
আপনি যদি অন্য প্রকল্পগুলিতে একই lib ব্যবহার করতে চান তবে আপনাকে লাইব্রেরি মডিউলটি সেই প্রকল্পে অনুলিপি করতে হবে এবং সেটিংস.gradle এবং প্রধান মডিউলটির বিল্ড.gradle ম্যানুয়ালি কনফিগার করতে হবে।
হনু

114

আমি ভাবছি কেন একা দাঁড়িয়ে থাকা জার প্রকল্পের উদাহরণ নেই।

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

  1. একটি প্রকল্প তৈরি করুন।

  2. বাম প্রজেক্ট মেনুতে ফাইলটি খুলুন ((অ্যাপ্লিকেশন / বিল্ড.gradle): গ্রেডল স্ক্রিপ্টস> বিল্ড.gradle (মডিউল: XXX)

  3. একটি লাইন পরিবর্তন করুন: apply plugin: 'com.android.application'->'apply plugin: com.android.library'

  4. অ্যাপ্লিকেশন সরান ফাইলটিতে: applicationId "com.mycompany.testproject"

  5. বিল্ড প্রকল্প: বিল্ড> পুনর্নির্মাণ প্রকল্প

  6. তারপরে আপনি আর ফাইলটি পাবেন: অ্যাপ> বিল্ড> আউটপুট> আর ফোল্ডার

  7. aarফাইল এক্সটেনশনের নামটি এতে পরিবর্তন করুনzip

  8. আনজিপ করুন এবং আপনি classes.jarফোল্ডারে দেখতে পাবেন । নাম পরিবর্তন করুন এবং এটি ব্যবহার করুন!

যাইহোক, আমি জানি না কেন গুগল অ্যান্ড্রয়েড স্টুডিওতে জার তৈরি এত জটিল করে তোলে।


1
অ্যান্ড্রয়েড স্টুডিও ২.২.২ ডিসিতে আমার জন্য কাজ করে। 2016.
হারমান

95

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

অ্যান্ড্রয়েড স্টুডিওর জন্য একটি বিকল্প মাল্টিপ্রজেক্ট সেটআপ

একটি ভিন্ন উপায়:

দেখা যাচ্ছে অ্যান্ড্রয়েড স্টুডিওতে একাধিক প্রকল্প পরিচালনা করার আরও ভাল উপায়। কৌশলটি হ'ল আপনার গ্রন্থাগারগুলির জন্য পৃথক অ্যান্ড্রয়েড স্টুডিও প্রকল্পগুলি তৈরি করা এবং গ্রেডকে বলা আপনার লাইব্রেরির মডিউলটি লাইব্রেরির প্রকল্প ডিরেক্টরিতে অবস্থিত that আমি উপরে বর্ণিত প্রকল্পের কাঠামোর সাথে যদি আপনি এই পদ্ধতিটি ব্যবহার করতে চান তবে আপনি নিম্নলিখিতটি করতেন:

  1. স্টিকিলিস্টহাইডারস লাইব্রেরির জন্য একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প তৈরি করুন
  2. অ্যাপ 2 এর জন্য একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প তৈরি করুন
  3. অ্যাপ 1 এর জন্য একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প তৈরি করুন
  4. স্টিকিলিস্টহাইডার্স প্রকল্পের মডিউলগুলি তৈরি করতে অ্যাপ 1 এবং অ্যাপ 2 কনফিগার করুন।

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

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

কোডটি একটিতে রাখতে হবে settings.gradle:

include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')

আপনি যদি এটি সঠিকভাবে করেন তবে আপনি লক্ষ্য করবেন যে আপনার প্রকল্পের দ্বারা উল্লেখ করা মডিউলগুলি প্রকল্পের নেভিগেটরে প্রদর্শিত হবে, এমনকি সেই মডিউলগুলি যদি প্রকল্পের ডিরেক্টরিতে বহিরাগত থাকে:

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

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

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

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


4
এটি সঠিক উত্তর। ধন্যবাদ।
নওন্ডলা সন্দীপ

1
ভাল উত্তর, তবে লিঙ্কটি ভাঙ্গার ক্ষেত্রে আপনার পোস্ট থেকে প্রাসঙ্গিক বিটগুলি অনুলিপি করা উচিত।
গ্রেসন পারলেলি

2
উল্লেখ্য: gradle মধ্যে STRING মূল্যায়নে জন্য আপনাকে ডাবল উদ্ধৃতি ( ") ব্যবহার করা আবশ্যক আমার জন্য দিনের" সংরক্ষণের জন্য লিঙ্কড করেছেন। "। এই
Solata

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

2
@ সিইজিআরডি আপনার ফাইল> প্রকল্প কাঠামোতে যেতে হবে এবং আপনি যে মডিউলটিতে কাজ করছেন তার নামে ক্লিক করতে হবে। তারপরে নির্ভরতা ট্যাবে যান> ড্রপ ডাউন মেনুতে '+' তারপরে 'মডিউল নির্ভরতা' ক্লিক করুন। তারপরে আপনার বর্তমান প্রকল্পে লাইব্রেরি 1 মডিউল যুক্ত করতে সক্ষম হওয়া উচিত।
ওলিয়াসাইল

45

বহু প্রকল্প সেটআপ সম্পর্কে এই লিঙ্কটি দেখুন ।

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

settings.gradle: include ':app', ':libraries:lib1', ':libraries:lib2'

এছাড়াও অ্যাপটির বিল্ড.gradle এর অনুসরণ রয়েছে কিনা তা নিশ্চিত করুন:

dependencies {
     compile project(':libraries:lib1')
}

আপনার নিম্নলিখিত কাঠামো থাকা উচিত:

 MyProject/
  | settings.gradle
  + app/
    | build.gradle
  + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

অ্যাপ্লিকেশনটির বিল্ড.gradle এ com.android.applicationপ্লাগইন ব্যবহার করা উচিত যখন কোনও লাইব্রেরির বিল্ড.gradle com.android.libraryপ্লাগইন ব্যবহার করা উচিত ।

আপনি যদি এই সেটআপটি দিয়ে কমান্ড লাইন থেকে তৈরি করতে সক্ষম হন তবে অ্যান্ড্রয়েড স্টুডিও আইডিই আপডেট করা উচিত।


প্লাগইনটি কি build.gradle এ কেবলমাত্র পার্থক্য দ্বারা সংজ্ঞায়িত করা হয়েছে? অর্থ্যাৎ আপনি কি একটি বিদ্যমান মডিউলটিকে একটি অ্যান্ড্রয়েড লাইব্রেরিতে পরিবর্তন করতে পারেন?
এনরিকো

22
একদিন, আমরা একটি আমদানি বোতামটি ক্লিক করব এবং লাইব্রেরিটি কেবল কাজ করবে, তারপরে আমরা সম্পাদকটিতে কোড টাইপ করা শুরু করব।
স্টিভ এম

6
এই পদ্ধতির বাস্তব প্রকল্পের মধ্যে লাইব্রেরি অন্তর্ভুক্ত বলে মনে হচ্ছে। ওপি যা চেয়েছিল তা হ'ল কীভাবে একটি পৃথক অ্যান্ড্রয়েড লাইব্রেরী প্রকল্প তৈরি করতে হবে যা নিজের প্রকল্প / স্পেসে বাস করে এবং কেবল মূল অ্যাপ্লিকেশন প্রকল্পে একটি লিবি হিসাবে অন্তর্ভুক্ত হয়
জোনাথন

@ স্টিভ এম আমার ক্যারিয়ার জুড়ে এটিই আমার সমস্যা। আমি কেবল কোনও নকশা ছাড়াই কোডিং শুরু করি। এবং তারপরে ঘন্টা ডিবাগিং এবং রিফ্যাক্টরিং ব্যয় করুন।
রাজকিরণ

13

ইন্টেলিজ আইডিইএ (এবং অ্যান্ড্রয়েড স্টুডিও) এর জন্য প্রতিটি লাইব্রেরি একটি মডিউল। অ্যাল্রয়েডের প্রকল্পের সমতুল্য হিসাবে অ্যান্ড্রয়েড স্টুডিওর একটি মডিউল ভাবেন। অ্যান্ড্রয়েড স্টুডিওতে প্রকল্প হ'ল মডিউলগুলির সংগ্রহ। মডিউলগুলি চলমানযোগ্য অ্যাপ্লিকেশন বা গ্রন্থাগার মডিউল হতে পারে।

সুতরাং, আপনার সাথে একটি নতুন অ্যান্ড্রয়েড লাইব্রেরি প্রকল্প যুক্ত করতে আপনাকে "অ্যান্ড্রয়েড লাইব্রেরি" টাইপের একটি মডিউল তৈরি করতে হবে। তারপরে এই লাইব্রেরী মডিউলটি আপনার মূল মডিউলটির (নির্ভরতা মডিউল) নির্ভরতা তালিকায় যুক্ত করুন।


12

লাইব্রেরি প্রকল্প তৈরি এবং পুনরায় ব্যবহার করার সহজ উপায় :

  1. একটি উন্মুক্ত প্রকল্পে file > new > new module(এবং ইউআই প্রশ্নের উত্তর দিন)

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

  1. ফাইল সেটিংসে যেমন পরীক্ষা করুন বা যোগ করুন উদাহরণস্বরূপ :include ':myLibrary'
  2. build.gradle ফাইলটিতে থাকলে / পরীক্ষা করুন বা যুক্ত করুন :

    dependencies { ... compile project(':myLibrary') }

  3. অন্য প্রকল্পে এই লাইব্রেরি মডিউলটি পুনরায় ব্যবহার করতে, 1 ম পদক্ষেপের পরিবর্তে প্রকল্পে এটির ফোল্ডারটি অনুলিপি করুন এবং 2 এবং 3 পদক্ষেপ করুন।

আপনি একটি নতুন স্টুডিও অ্যাপ্লিকেশন প্রকল্পও তৈরি করতে পারেন আপনি বিল্ডড্র্যাডল ফাইলটিতে প্লাগইন অ্যাসাইনমেন্টটি com.android.library এ পরিবর্তন করে একটি বিদ্যমান অ্যাপ্লিকেশন মডিউলটি সহজেই একটি লাইব্রেরি মডিউলে পরিবর্তন করতে পারেন।

apply plugin: 'com.android.application'

android {...}

প্রতি

apply plugin: 'com.android.library'

android {...}

আরও এখানে


প্লাগিন অ্যাসাইনমেন্টটি পরিবর্তন করে আপনি যদি একটি বিদ্যমান অ্যাপ্লিকেশন মডিউলটি একটি লাইব্রেরি মডিউলে পরিবর্তন করেন তবে আপনাকে গ্রেড ফাইল থেকে `অ্যাপ্লিকেশনআইড" com .... "লাইনটিও সরিয়ে ফেলতে হবে।
টিডিজি

"সতর্কতা: কনফিগারেশন 'কম্পাইল' অপ্রচলিত এবং 'বাস্তবায়ন' এবং 'এপিআই' দিয়ে প্রতিস্থাপন করা হয়েছে।"
slhck

9

আপনি যে কোনও অ্যাপ্লিকেশনটিতে ব্লুন্ডেল হিসাবে একটি নতুন মডিউল যুক্ত করতে পারেন তার উত্তরে যা বলে এবং তারপরে অন্য কোনও অ্যাপ্লিকেশন থেকে এটি উল্লেখ করতে পারেন।

আপনি যদি কম্পিউটারের যে কোনও জায়গায় মডিউলটি সরিয়ে নিতে চান তবে কেবল মডিউল ফোল্ডারটি সরিয়ে ফেলুন (মডিউলগুলি সম্পূর্ণ স্বাধীন) তবে আপনাকে মডিউলটি উল্লেখ করতে হবে।

এই মডিউলটি উল্লেখ করার জন্য আপনার উচিত:

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

    dependencies {
    ...
    compile project(':myandroidlib')
    }
    
  • সেটিংস.gradle ফাইল এ নিম্নলিখিত যুক্ত করুন:

     include ':app', ':myandroidlib'
     project(':myandroidlib').projectDir = new File(PATH_TO_YOUR_MODULE)
    

উদাহরণস্বরূপ project(':library').projectDir = new File('../library')যেখানে libraryঅ্যান্ড্রয়েড প্রকল্পের ফোল্ডারের সাথে সমান্তরালে ফোল্ডারের নাম।
কেউ কোথাও কোথাও

5

প্লাগইন প্রয়োগের পরিবর্তে apply plugin: 'com.android.library'আপনার ব্যবহার করতে ভুলবেন না build.gradle:'com.android.application'


4

ডকুমেন্টেশন ওয়ে

অ্যান্ড্রয়েড স্টুডিও ডকুমেন্টেশনে প্রদত্ত পরামর্শ অনুযায়ী এটিই প্রস্তাবিত উপায়।

একটি লাইব্রেরি মডিউল তৈরি করুন

আপনার লাইব্রেরিটি তৈরি করতে একটি নতুন প্রকল্প তৈরি করুন File ফাইল> নতুন> নতুন মডিউল> অ্যান্ড্রয়েড গ্রন্থাগার> পরবর্তী> (নাম চয়ন করুন)> সমাপ্তি এ ক্লিক করুন । তারপরে আপনার লাইব্রেরিতে আপনি যে যা ক্লাস এবং রিসোর্স করতে চান তা যুক্ত করুন।

আপনি যখন মডিউলটি তৈরি করবেন তখন একটি এআর ফাইল তৈরি করা হবে। আপনি এটি খুঁজে পেতে পারেন project-name/module-name/build/outputs/aar/

নির্ভরতা হিসাবে আপনার লাইব্রেরি যুক্ত করুন

আপনি এইভাবে অন্য প্রকল্পের নির্ভরতা হিসাবে আপনার লাইব্রেরি যুক্ত করতে পারেন:

  1. ফাইল> নতুন মডিউল> আমদানি। জেআর / .আর প্যাকেজ> পরবর্তী> (ফাইলের অবস্থান চয়ন করুন)> সমাপ্তি সহ আপনার লাইব্রেরি এআর ফাইলটি আমদানি করুন । (কোডটি আমদানি করবেন না, অন্যথায় এটি অনেক জায়গায় সম্পাদনাযোগ্য হবে))
  2. সেটিংস.gradle ফাইলটিতে আপনার লাইব্রেরির নাম রয়েছে তা নিশ্চিত করুন।

    include ':app', ':my-library-module'
    
  3. অ্যাপ্লিকেশনটির build.gradle ফাইলে, নির্ভরতা বিভাগে সংকলন লাইন যুক্ত করুন:

    dependencies {
        compile project(":my-library-module")
    }
    
  4. আপনার প্রকল্পটি গ্রেডের সাথে সিঙ্ক করার জন্য আপনাকে অনুরোধ জানানো হবে। এটা কর.

এটাই. আপনার এখন আপনার গ্রন্থাগারটি ব্যবহার করা উচিত।

মন্তব্য

আপনি যদি আপনার লাইব্রেরিটি বৃহত্তর দর্শকদের কাছে সহজেই উপলভ্য করতে চান তবে জিটপ্যাক বা জেসিটর ব্যবহার করে বিবেচনা করুন


3

একই প্রশ্ন ছিল এবং এটি নিম্নলিখিত উপায়ে সমাধান করেছেন:

পরিস্থিতি শুরু করুন :

FrigoShare (root)
|-Modules:    frigoshare,   frigoShare-backend

লক্ষ্য : নামের একটি মডিউল যুক্ত করতে চানdataformats

  1. একটি নতুন মডিউল যুক্ত করুন (যেমন Java Library:)
  2. আপনার settings.gradleচেহারাটি এর মতো (সাধারণভাবে স্বয়ংক্রিয়ভাবে) নিশ্চিত হন:

    include ':frigoshare', ':frigoShare-backend', ':dataformats'

  3. আপনার গ্রন্থাগারটি ব্যবহার করার জন্য যে মডিউলগুলির ফাইলগুলির নিম্নোক্ত নির্ভরতা রয়েছে তা ( ম্যানুয়ালি ) নিশ্চিত করুন build.gradle:

    dependencies { ... compile project(':dataformats') }



2

উপরোক্ত সচেতনতামূলক মন্তব্য হিসাবে আমি গ্রেডল বিল্ড ভেরিয়েন্সগুলি অনুসন্ধান করার চেষ্টা করেছি এবং আমি এই লিঙ্কটি পেয়েছি: http://code.tutsplus.com/tutorials/used-gradle-build-variants--cms-25005 এটি একটি খুব সহজ সমাধান। এটি আমিই করেছি: - বিল্ড ওয়ার্ডে:

flavorDimensions "version"

productFlavors {
    trial{
        applicationId "org.de_studio.recentappswitcher.trial"
        flavorDimension "version"
    }
    pro{
        applicationId "org.de_studio.recentappswitcher.pro"
        flavorDimension "version"
    }

}

তারপরে আমার কাছে আমার অ্যাপ্লিকেশনের আরও 2 টি সংস্করণ রয়েছে: 2 টি পৃথক প্যাকেজনামের সাথে প্রো এবং ট্রায়াল যা 2 টি অ্যাপ্লিকেশনআইডির কোডে যুক্ত করুন যাতে আমি উভয়ই গুগল প্লেতে আপলোড করতে পারি। আমি এখনও "মূল" বিভাগে কোডটি দিয়েছি এবং সংস্করণে স্যুইচ করতে getpackageName ব্যবহার করি। আমি বিস্তারিত জানার জন্য যে লিঙ্কটি দিয়েছি তাতে যান।


1

দুটি সহজ উপায় আছে যদি কোনও কাজ না করে তবে অন্যটি চেষ্টা করে দেখুন।

  1. আপনার ব্যবহারের লাইব্রেরির বিল্ড.ড্রেডল ফাইলের অভ্যন্তরে নির্ভরতার ভিতরে গ্রন্থাগারের নির্ভরতা যুক্ত করুন এবং বাহ্যিক গ্রন্থাগারে আপনার লাইব্রেরিটি পেস্ট করুন।

অথবা

  1. অ্যাপ্লিকেশন ফোল্ডারের ভিতরে কেবল আপনার লিবিস ফোল্ডারে যান এবং আপনার সমস্ত জাজার লাইব্রেরি ফাইলগুলি এখানে আটকান এখন কৌশলটি হ'ল এখন সেটিংসের অভ্যন্তরে যান .g অ্যাপ্লিকেশন '"এটি অবশ্যই কাজ করবে ........... :)

1

আমার ক্ষেত্রে, ম্যাক ওএস এক্স 10.11 এবং অ্যান্ড্রয়েড ২.০ ব্যবহার করে এবং আকিব মমতাজ যেভাবে ব্যাখ্যা করেছেন ঠিক তাই করে।

তবে প্রতিবারই আমার এই বার্তাটি ছিল: " প্রকল্প ': অ্যাপ' কনফিগার করতে সমস্যা দেখা দিয়েছে।> মডিউল xxx মূল্যায়ন করতে পারে না: 'ডিফল্ট' নামের সাথে কনফিগারেশন পাওয়া যায়নি

আমি খুঁজে পেয়েছি যে এই বার্তার কারণ হ'ল অ্যান্ড্রয়েড 2.0 সরাসরি লাইব্রেরি তৈরি করতে দেয় না। সুতরাং, আমি প্রথমে একটি অ্যাপ্লিকেশন প্রজেক্ট তৈরি করার সিদ্ধান্ত নিয়েছি এবং তারপরে এটি একটি লাইব্রেরি হিসাবে রূপান্তর করতে বিল্ড.gradle সংশোধন করব।

এই সমাধানটি কাজ করে না, কারণ একটি অ্যাপ্লিকেশন প্রকল্পের চেয়ে একটি লাইব্রেরি প্রকল্প খুব আলাদা।

সুতরাং, আমি আমার সমস্যাটি এরকমভাবে সমাধান করেছি:

  • প্রথমে একটি স্ট্যান্ডার্ড অ্যাপ তৈরি করুন (যদি প্রয়োজন হয়);
  • তারপরে 'ফাইল / মডিউল তৈরি করুন' বেছে নিন
  • অনুসন্ধানকারীর কাছে যান এবং আপনার ফ্রেমওয়ার্ক ডিরেক্টরিতে নতুনভাবে তৈরি মডিউলটির ফোল্ডারটি সরান

তারপরে আকিব মমতাজ প্রস্তাবিত সমাধানটি চালিয়ে যান।

ফলস্বরূপ, আপনার লাইব্রেরি উত্সটি প্রতিবার উত্স ফাইলগুলি নকল করার প্রয়োজন ছাড়াই ভাগ করা হবে (এটি আমার পক্ষে এক ধর্মবিরোধ ছিল!)

আশা করি এটি আপনাকে সহায়তা করবে।

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