গ্র্যাডল বিল্ডে "ফ্ল্যাটডিরস" ব্যবহার করে স্থানীয় .aar ফাইল যুক্ত করা কাজ করছে না


159

আমি এই প্রশ্ন সম্পর্কে সচেতন: আমার গ্রেড বিল্ডে স্থানীয় .aar ফাইল যুক্ত করা হচ্ছে তবে সমাধানটি আমার পক্ষে কার্যকর হয় না।

আমি এই বিবৃতিটি আমার build.gradleফাইলের শীর্ষ স্তরে যুক্ত করার চেষ্টা করেছি :

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

আমি slidingmenu.aarফাইলটি /libsএটিকে dependenciesবিভাগে রেখেছি এবং রেফারেন্স করেছি : compile 'com.slidingmenu.lib:slidingmenu:1.0.0@aar'তবে এটি কার্যকর হয়নি।

আমি চেষ্টা compile files('libs/slidingmenu.aar')করেছি কিন্তু ভাগ্য নেই।

আমি কী মিস করছি? কোন ধারনা?

পিএস অ্যান্ড্রয়েড স্টুডিও 0.8.2


1
ফ্ল্যাটডিরস + কমপাইল (নাম: 'libname', ext: 'aar') অ্যান্ড্রয়েড স্টুডিও 8.2.0, + গ্রেড 1.12 এ আমার জন্য কাজ করে। সুতরাং এটি অবশ্যই আপনার বিল্ড ফাইলের সাথে কিছু ভুল হতে পারে। এটি আরও একবার দেখুন বা আরও কোড পোস্ট করুন
চেয়ে

উত্তর:


293

জোশিয়ার জবাবকে কেন্দ্র করে, আমি কীভাবে এটি কাজ করতে পারি তা এখানে।

তার নির্দেশাবলী অনুসরণ করুন (সম্পাদনা অধীনে) ( ফাইল -> নতুন-> নতুন মডিউল -> আমদানি। জার / .আআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআर्پا ) .আআআআআর আমদানি করুন।

তারপরে আপনার প্রজেক্ট বিল্ড.gradle (শীর্ষ স্তরের এক নয়, 'অ্যাপ' এর অধীনে একটি) নিম্নলিখিতগুলি (নির্ভরতা বিভাগে) যুক্ত করুন:

dependencies {
    compile project(':Name-Of-Your-Project')
}

নোট-অফ-আপনার-প্রকল্পের এআর ফাইলটি আমদানির পরে যুক্ত হওয়া ফোল্ডারের নামের সাথে ( app/.ideaশীর্ষ সর্বাধিক স্তরের ফোল্ডারের অধীনে একই স্তরের ) মেলানো উচিত । অথবা এটি অন্যভাবে রাখার জন্য ...

আমার আবেদন
  .ধারণা
  অ্যাপ্লিকেশন
  build.gradle (নির্ভরযোগ্যতা বিভাগে সংকলন প্রকল্প (': প্রকল্পের নাম') যুক্ত করতে এখানে)
  প্রোজেক্টনাম (আমদানির পরে স্বয়ংক্রিয়ভাবে যুক্ত হয়েছে, আপনার আর ফাইলের নামের সাথে মিল রয়েছে)
  বিল্ড
  gradle
  ইত্যাদি

এটি আমার জন্য অ্যান্ড্রয়েড স্টুডিও 0.8.0 চালানোর পক্ষে কাজ করেছে। আপনি এটি করার পরে গ্রেডকে (টুলবার বোতাম ব্যবহার করে বা ফাইল-> সিঙ্ক্রোনাইজ করে ) সিঙ্ক্রোনাইজ করতে ভুলবেন না ।

(আমাকে সঠিক পথে নিয়ে যাওয়ার জন্য জোশিয়ার ধন্যবাদ)

(দ্রষ্টব্য: এর পূর্বে আমি এটিকে libs ফোল্ডারে যুক্ত করার চেষ্টা করেছি, শীর্ষ স্তর build.gradleএবং অ্যাপ্লিকেশন স্তরের কৌশলগত করার চেষ্টা করেছি build.gradle, তবে এর কোনওটিই আমার আর্স ফাইলগুলির জন্য কাজ করেনি - জারের কাজ ঠিকঠাক হবে, তবে আআর ফাইলগুলি নয়)


1
বাবা! এই কৌশলটি করেছেন, বিস্তারিত ব্যাখ্যার জন্য আপনাকে ধন্যবাদ। হুডের অধীনে আমদানি কর্তা সরঞ্জামগুলির সাইটে বর্ণিত একই জিনিসটি করেন: "আরেকটি বিকল্প হ'ল একটি নতুন গ্রেডেল উপ-প্রকল্প তৈরি করা এবং এই প্রকল্পের প্রকাশিত নিদর্শনটি আপনি পুনরায় ব্যবহার করতে চান এমন জার বা আয়ার ফাইলটিকে তৈরি করা Then তারপরে আপনি অন্যান্য গ্র্যাডেল উপ-প্রকল্পগুলি কেবলমাত্র এই নতুন উপ-প্রকল্পের উপর নির্ভর করতে পারে this এই নতুন সাব-প্রকল্পে কেবল নিম্নলিখিতগুলির সাথে একটি বিল্ড অ্যাড্রেডল তৈরি করুন: configurations.create ("ডিফল্ট") আর্টফ্যাক্টস.এডিডি ("ডিফল্ট", ফাইল ('somelib.aar')) "
অ্যালেক্সি দিমিত্রিভ

আমি ত্রুটি পাচ্ছি: Error:(25, 0) Required keys [path] are missing from map {name=mylibrary-debug}.যদি আমি ব্যবহার করি compile project(name:'mylibrary-debug').. আমি কী মিস করছি?
মিস্টিকাম্যাগিকϡ

2
সাম্প্রতিক গ্রেডেল প্লাগইন এটি ভেঙেছে। সমাধান এখানে: স্ট্যাকওভারফ্লো.com
স্কাই কেলসি

1
উপরের সমস্ত পদক্ষেপের পরেও ক্লিন বিল্ড করুন।
বিজ্ঞাপন

1
লাইনে compile project(':Name-Of-Your-Project'), আমি Name-Of-Your-Projectআমার .আর ফাইলের নামটি ( .aarএক্সটেনশন ছাড়াই ) দিয়ে প্রতিস্থাপন করেছি । এবং এটা কাজ করে.
সুফিয়ান

190

আপডেট : @ amram99 হিসাবে উল্লিখিত হিসাবে, অ্যান্ড্রয়েড স্টুডিও ভি 1.3 এর প্রকাশ হিসাবে ইস্যুটি ঠিক করা হয়েছে।

নীচে নির্দিষ্টকরণের সাথে পরীক্ষিত এবং যাচাই করা হয়েছে

  • অ্যান্ড্রয়েড স্টুডিও ভি 1.3
  • গ্রেড প্লাগইন v1.2.3
  • গ্রেডল v2.4

এখন কি কাজ করে

  • এখন আপনি ফাইল> নতুন> নতুন মডিউল> আমদানি। JAR / .AAR প্যাকেজ বিকল্প অ্যান্ড্রয়েড স্টুডিও ভি 1.3 এর মাধ্যমে একটি স্থানীয় আরআর ফাইল আমদানি করতে পারেন

  • তবে নীচের উত্তরটি অ্যান্ড্রয়েড স্টুডিওর পরিবর্তনে নির্বিশেষে সত্য এবং কার্যকর রাখে কারণ এটি গ্রেড স্ক্রিপ্টিং ভিত্তিক।


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

আবার ফাইলটি libs ডিরেক্টরিতে রাখুন (প্রয়োজনে এটি তৈরি করুন), তারপরে আপনার বিল্ড.gradle এ নিম্নলিখিত কোডটি যুক্ত করুন:

dependencies {
   compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
 }
repositories{
      flatDir{
              dirs 'libs'
       }
 }

1
এটি সঠিক উত্তর এবং এটি করার নতুন উপায়। দয়া করে এই উত্তরটিকে
উঁচু করুন

আমি আপনার কোডটি অনুলিপি করেছি, তবে আপনি কি জানেন যে আমি কেন এই ত্রুটি পেয়েছি? "ত্রুটি: প্রজেক্ট ': অ্যাপ' কনফিগার করতে সমস্যা দেখা দিয়েছে> jitpack.io//signalr-client-sdk-android-re कृपया//… "
টুডমো

10
repositoriesঅংশ যায় বিভিন্ন build.gradle বিশ্বব্যাপী এক - কাজ করার জন্য। dependenciesঅংশ মডিউল এর যায় build.gradle। এজন্যই আমি ত্রুটি পেয়েছি।
টুডমো

@ টডডমো সুতরাং আমার উত্তরটি আসলে স্থানীয় এআর ফাইলগুলির জন্য প্রযোজ্য। অর্থাত্ আপনার libs ডিরেক্টরিতে একটি .aar ফাইল উপস্থিত।
নিশান্ত।

1
ধন্যবাদ। পুরানো সংস্করণটি আমার পক্ষে কার্যকর হয়নি, নতুন আমদানির উপায়টি দুর্দান্ত কাজ করেছে! গ্রেডেল 3.5, গ্রোভি 2.4.10
আর্নল্ড শ্রিজার

26

সম্পাদনা করুন: স্থানীয় আরএআর ফাইলটিকে বিল্ড নির্ভরতা হিসাবে ব্যবহার করার সঠিক উপায়টি হল মডিউল আমদানি উইজার্ড (ফাইল | নতুন মডিউল | আমদানি করা আপনার প্রকল্পে

পুরানো উত্তর

এটা চেষ্টা কর:

allprojects {
  repositories {
    jcenter()
    flatDir {
      dirs 'libs'
    }
  }
}

...

compile(name:'slidingmenu', ext:'aar')


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

3
এই পুরানো উত্তরটি আসলে আমার পক্ষে কাজ করে যতক্ষণ না আমি flatDir { dirs 'libs' }
ওপিতে

4
আমি আমদানির নতুন পদ্ধতি ব্যবহার করে .aar ফাইল আমদানি করেছি। আমি যখন অর্ধেক নামটি টাইপ করি তখন আমি লাইব্রেরির শ্রেণীর নাম দেখতে সক্ষম নই এবং ctrl + স্পেস টিপব। সুতরাং এটি এখনও গ্রন্থাগার বিবেচনা করে না। কোন ধারণা?
MysticMagicag

1
সম্পাদিত সংস্করণ অ্যান্ড্রয়েড স্টুডিও 1.2.2.1.1 এর জন্য দুর্দান্ত কাজ করে। অন্য কোনও গ্রেড স্ক্রিপ্টিং করতে হবে না। আপনি উপরের ডিজাইবডের মতো একটি নতুন মডিউল তৈরি করতে পারেন। 'নতুন মডেল তৈরি করুন' কথোপকথনে আপনার লাইব্রেরি আর ফাইলের পথ বেছে নিন, উদাহরণস্বরূপ মাইলিব \ মাইলিবারি \ বিল্ড \ আউটপুট \ আর। এএস একটি নতুন স্থানীয় ফোল্ডারে ফাইলটি অনুলিপি করবে। আপনার অ্যাপ্লিকেশন প্রকল্পটি পুনর্নির্মাণ করুন এবং নতুন লাইব্রেরি মডেলটি প্রকল্পের দৃশ্যে প্রদর্শিত হবে। এখন আপনি প্রকল্প কাঠামোয় আপনার অ্যাপ্লিকেশন মডিউলের (যেমন 'অ্যাপ') এর নির্ভরতা হিসাবে গ্রন্থাগার মডিউলটি যুক্ত করতে পারেন: প্রকল্পের কাঠামো | মডিউল | অ্যাপ্লিকেশন | নির্ভরতা | অ্যাড | মডিউল নির্ভরতা।
ক্রিশ্চিয়ান শুলজেনডরফ

15

আমি এই অ্যান্ড্রয়েড স্টুডিও 2.1 এ কাজ পেয়েছি। আমার কাছে "নেটিভ_এডস" নামে একটি মডিউল রয়েছে যা একাধিক প্রকল্পে ভাগ করা হয়।

প্রথমে আমি আমার নেটিভ_এডস মডিউলে 'আরস' নামটি দিয়ে একটি ডিরেক্টরি তৈরি করেছি এবং তারপরে আর ফাইলটি সেখানে রেখেছি।

ডিরেক্টরি কাঠামো:

libs/
aars/    <-- newly created
src/
build.gradle
etc

তারপরে, অন্যান্য পরিবর্তনগুলি:

শীর্ষ স্তরের গ্রেডল ফাইল:

allprojects {
    repositories {
        jcenter()
        // For module with aar file in it
        flatDir {
            dirs project(':Native_Ads').file('aars')
        }
    }
}

অ্যাপ মডিউলটির বিল্ড.gradle ফাইল: - কোনও পরিবর্তন নেই

Settings.gradle ফাইল (মডিউলটি অন্তর্ভুক্ত করতে):

include ':app'
include 'Native_Ads'
project(':Native_Ads').projectDir = new File(rootProject.projectDir, '../path/to/Native_Ads')

নেটিভ_এডস মডিউলটির জন্য গ্রেড ফাইল:

repositories {
    jcenter()
    flatDir {
        dirs 'aars'
    }
}
dependencies {
    compile(name:'aar_file_name_without_aar_extension', ext:'aar')
}

এটাই. পরিষ্কার এবং বিল্ড।


'নেটিভ_এডস' এ একাধিক আরার ফাইলের জন্যও কাজ করে। খুব ভাল সমাধান!
ক্রিশ্চিয়ান শুলজেন্ডরফ

8

এখন সবচেয়ে সহজ উপায় এটিকে মডিউল হিসাবে যুক্ত করা

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

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


আমদানি বাছাই করার পরে কেন ডায়ালগটিতে আমার nextবোতামটি ধূসর হয়ে গেছে সে সম্পর্কে আপনার ধারণা থাকতে পারে ? Create New ModuleJAR/AAR Package
কেভিন ক্রেন

1
নোট করুন যে আমি .aar ফাইলটি নির্বাচন করে এটিকে একটি নাম দিয়েছি
কেভিন ক্রেন

আমি কারণটি খুঁজে পেয়েছি, আইডিই .aarফাইলটি কোনও প্রকল্প ডিরেক্টরিতে রয়েছে কিনা তা নির্ধারণের জন্য পথটি পরীক্ষা করছে , আমি কেবল .aarআমার ডেস্কটপে রেখেছি এবং আবার চেষ্টা করেছি এবং এটি কার্যকর হয়েছে, আপনার সমাধানের জন্য ধন্যবাদ!
কেভিন ক্রেন

সম্ভবত একটি বোবা প্রশ্ন, তবে সম্পর্কিত so you just need to include that module as a dependency afterwards- আপনি কীভাবে এটি করেন?
বল্টআপ_আইম_কোডিং

1
@Marian Klühspies এখন তো দেখছি, আমি নিশ্চিত না হলে থাকার ছিল includeমধ্যে settings.gradleঅনুমিত ছিল যথেষ্ট যাবে। আমি এটা কাজ পেয়েছিলাম। ধন্যবাদ!
বল্টআপ_আইম_কোডিং

7

এটি আমার কাঠামো এবং আমি কীভাবে এটি সমাধান করব:

মাইপ্রজেক্ট / অ্যাপ / লিবিস / মাইলিব -১.০.০.আর

MyProject / অ্যাপ্লিকেশন / myModulesFolder / myLibXYZ

উপর build.gradle

থেকে প্রকল্প / অ্যাপ্লিকেশন / myModulesFolder / myLibXYZ

আমি এটি রেখেছি:

repositories {
   flatDir {
    dirs 'libs', '../../libs'
  }
}
compile (name: 'mylib-1.0.0', ext: 'aar')

সম্পন্ন এবং সূক্ষ্মভাবে কাজ করা, আমার সাবমোডিয়াল এক্সওয়াইজেড মূল মডিউল থেকে কিছুটা নির্ভর করে।


5

আপনি এটি এইভাবে করতে পারেন। এটি maven বিন্যাসে যেতে হবে:

repositories {
  maven { url uri('folderName')}
}

এবং তারপরে আপনার এএআর একটি গ্রুপ আইডি "com.example" এর জন্য একটি ফোল্ডার কাঠামোয় যেতে হবে:

folderName/
  com/
    example/
       verion/
          myaar-version.aar

তারপরে নির্ভরতা হিসাবে উল্লেখ করুন:

compile 'com.example:myaar:version@aar'

আপনার versionআর ফাইলের সংস্করণটি কোথায় (যেমন, 3.0, ইত্যাদি)


3

অ্যান্ড্রয়েড স্টুডিও ১.৪ হিসাবে যে কারও কাছে এই সমস্যা রয়েছে তার জন্য, আমি 2 টি জিনিস যুক্ত প্রকল্পের মধ্যে একটি মডিউল তৈরি করে এটি কাজ করেছিলাম।

  1. নিম্নলিখিত বিষয়বস্তুর সাথে build.gradle:

    configurations.create("default")

    artifacts.add("default", file('facebook-android-sdk-4.7.0.aar'))

  2. আর ফাইল (উদাহরণস্বরূপ 'Facebook-android-sdk-4.7.0.aar')

তারপরে নতুন লাইব্রেরিটিকে মডিউল নির্ভরতা হিসাবে অন্তর্ভুক্ত করুন। এখন আপনি প্রকল্পের উত্সগুলি অন্তর্ভুক্ত না করে একটি বিল্ট আআর ব্যবহার করতে পারেন।

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


আপনি কোন ধরণের মডিউল তৈরি করেছেন? ফাইল> নতুন> নতুন মডিউল>?
আল লেলোপাথ

এই ক্ষেত্রে মডিউল টাইপ হ'ল অ্যান্ড্রয়েড লাইব্রেরি "যদি আপনি কোনও মডিউল তৈরি করতে জিইউআই ব্যবহার করেন। আপনি একটি অ্যান্ড্রয়েড লাইব্রেরিতে মডিউলটির বিল্ডড্র্যাডল সংশোধন করে একটি বিদ্যমান মডিউল তৈরি করতে পারেন। এতে পরিবর্তন apply plugin: 'com.android.application'করুনapply plugin: 'com.android.library'
ভিক্টর উদে

এক মডিউলে একাধিক আরস যুক্ত করা কি সম্ভব? অন্যথায় আমার আর ফাইলগুলি অন্তর্ভুক্ত করার জন্য আমার 10 টিরও বেশি গ্রেড মডিউল তৈরি করতে হবে
মেরিয়ান ক্লিহস্পিজস

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

3

আমার ক্ষেত্রে উপরের উত্তরগুলির কোনওটিরই কাজ হয়নি! যেহেতু আমার কাছে বিভিন্ন পণ্য ফ্লেভারগুলি কেবল যুক্ত ছিলrepositories{ flatDir{ dirs 'libs' } }

এটা কাজ করছে না! আমি libs ডিরেক্টরি সঠিক অবস্থান নির্দিষ্ট করে শেষ করেছি :

repositories{
flatDir{
    dirs 'src/main/libs'
}

}

Guess যখন বিভিন্ন productFlavors এর এক এই মত flatDirs পরিচয় করিয়ে উচিত build.gradle


2

আমার ক্ষেত্রে, আমি সবেমাত্র আআর ফাইলটি লিবিজে রেখেছি এবং যুক্ত করতে পারি

dependencies { ... api fileTree(dir: 'libs', include: ['*.aar']) ... }

build.gradle এ এবং এটি কাজ করে। আমি মনে করি এটি ডিফল্ট উত্পন্ন নির্ভরতার সাথে একই রকম:

implementation fileTree(dir: 'libs', include: ['*.jar'])


"এপিআই ফাইলটিরি (ডায়ার: 'লিবিস', অন্তর্ভুক্ত: ['* .আআআআআআআআআআআআআআআআআআআআআআআআআআআআ। আমি "এপিআই" এর পরিবর্তে "বাস্তবায়ন" ব্যবহার করি তবে এটি কাজ করে না। আমি একাধিক আর্সের সাথে কাজ করার জন্য ভিক্টর উডির সমাধানটি কখনই পেতে পারি না। একটি অতিরিক্ত অন্তর্দৃষ্টি: আপনি যদি সংস্থানগুলি ব্যবহার করছেন (যেমন লেআউটগুলি) তবে নিশ্চিত হয়ে নিন যে আপনি যে আয়ারগুলি লিঙ্ক করেছেন তাতে আপনার এপিপির মতো একই নামের কোনও সংস্থান নেই। এটি আপনাকে একটি ত্রুটি দিতে পারে যা এটি লেআউটে আইডির একটি খুঁজে পায় না। সমস্যাটি হ'ল এটি আআর লেআউটে আইডিটির জন্য ভুল নেমস্পেস ব্যবহার করে।
টম রচ্চিক

1

এই লাইনে ফোল্ডার থেকে সমস্ত aarএবং jarফাইল রয়েছে libs:

implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/')

0

অ্যাপ্লিকেশন গ্রেড ফাইল প্রয়োগকারী প্রকল্পের নীচে যুক্ত করুন (পথ: ': প্রকল্পের নাম')


0

আপনি যদি ইতিমধ্যে কোটলিন গ্রেডল ডিএসএল ব্যবহার করেন তবে এটি এভাবে ব্যবহারের বিকল্প:

এখানে আমার প্রকল্প কাঠামো

|-root
|----- app
|--------- libs // I choose to store the aar here
|-------------- my-libs-01.aar
|-------------- my-libs-02.jar
|--------- build.gradle.kts // app module gradle
|----- common-libs // another aar folder/directory
|----------------- common-libs-01.aar
|----------------- common-libs-02.jar
|----- build.gradle.kts // root gradle

আমার app/build.gradle.kts

  1. সঙ্গে সহজ পদ্ধতির ব্যবহার fileTree
// android related config above omitted...

dependencies {
    // you can do this to include everything in the both directory
    // Inside ./root/common-libs & ./root/app/libs
    implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
    implementation(fileTree(mapOf("dir" to "../common-libs", "include" to listOf("*.jar", "*.aar"))))
}
  1. স্থানীয় / দূরবর্তী মাভেন সংগ্রহস্থল থেকে আনার মতো একই পদ্ধতির ব্যবহার flatDirs
// android related config above omitted...

repositories {
    flatDir {
        dirs = mutableSetOf(File("libs"), File("../common-libs") 
    }
}

dependencies {
   implementation(group = "", name = "my-libs-01", ext = "aar")
   implementation(group = "", name = "my-libs-02", ext = "jar")

   implementation(group = "", name = "common-libs-01", ext = "aar")
   implementation(group = "", name = "common-libs-02", ext = "jar")
}

groupপ্রয়োজন ছিল, তার বাধ্যতামূলক (না ঐচ্ছিক / ডিফল্ট মান আছে) kotlin মধ্যে কারণে implementation, নীচে দেখুন:

// Filename: ReleaseImplementationConfigurationAccessors.kt
package org.gradle.kotlin.dsl

fun DependencyHandler.`releaseImplementation`(
    group: String,
    name: String,
    version: String? = null,
    configuration: String? = null,
    classifier: String? = null,
    ext: String? = null,
    dependencyConfiguration: Action<ExternalModuleDependency>? = null
)

দাবি flatDirsঅস্বীকার: নং 1 এবং 2 নম্বর পদ্ধতির ব্যবহার করে পার্থক্য , আমি এখনও বেশি কিছু জানি না, আপনি এই উত্তরে সম্পাদনা / মন্তব্য করতে চাইতে পারেন।

তথ্যসূত্র:

  1. https://stackoverflow.com/a/56828958/3763032
  2. https://github.com/gradle/gradle/issues/9272
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.