অ্যান্ড্রয়েড বিল্ডস্ক্রিপ্ট রিপোজিটরিগুলি: জেনটার ভিএস মাভেনসেন্ট্রাল


239

আমি শেষবার অ্যান্ড্রয়েড স্টুডিও ব্যবহার করেছি, এটি বিল্ডস্ক্রিপ্ট সংগ্রহস্থলগুলির .gradleসাথে ফাইল তৈরি করেছে mavencentral()যেখানে এখন রয়েছে jcenter()

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

Rep রেপো রক্ষণাবেক্ষণের জন্য দায়ী কে?


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

কারণ .... অ্যান্ড্রয়েড। ;)
জোশুয়া পিন্টার

উত্তর:


150

বিনত্রে আমি গুগল কেন এই পরিবর্তন এনেছে তার কারণগুলি বর্ণনা করে একটি খুব বিস্তারিত ব্লগ পোস্টটি কেবল চালু করেছিলাম । এখানে সর্বাধিক গুরুত্বপূর্ণ বিষয়গুলি রয়েছে:

  • জেন্টার বিন্ট্রায় একটি জাভা সংগ্রহশালা , যা জাভা এবং অ্যান্ড্রয়েড ওএসএস লাইব্রেরি, প্যাকেজ এবং উপাদানগুলির জন্য বিশ্বের বৃহত্তম রেপো।
  • জেসেন্টারে সমস্ত সামগ্রী একটি সুরক্ষিত এইচটিটিপিএস সংযোগ সহ একটি সিডিএন-এর মাধ্যমে পরিবেশন করা হয়। মাইগ্রেশনের সময় ফিরে এসেছিল (অ্যান্ড্রয়েড স্টুডিও 0.8) কেন্দ্রীয় মেভেন 2 সংগ্রহস্থলটি কেবলমাত্র HTTP ছিল এবং এইচটিটিপিএস সমর্থিত ছিল না। তথ্যসূত্র: 51.6.2। মাভেন কেন্দ্রীয় ভান্ডার
  • jcenter()এটি একটি সুপারসেট mavenCentral(), যা অনেকগুলি অতিরিক্ত সংগ্রহস্থল এবং নিদর্শনগুলিকে অন্তর্ভুক্ত করে।
  • বিভিন্ন পরিস্থিতিতে এবং বিভিন্ন দেশ থেকে বিন্ট্রে ম্যাভেন সেন্ট্রাল (যেমন ইস্রায়েল থেকে) এর চেয়ে দ্রুত। অন্যদের মধ্যে এটি খুব কাছাকাছি। যেহেতু ম্যাভেন সেন্ট্রাল এবং বিন্ট্রে বিভিন্ন সিডিএন ব্যবহার করে যা অভিযোজিতভাবে অঞ্চলের পক্ষে হয়, সুতরাং এটি উভয় পথে পরিবর্তিত হতে পারে।
  • উত্তরাধিকার মাভেন সেন্ট্রালের তুলনায় পিনাক্স শনাক্তকরণের জন্য বিন্ট্রের আলাদা পন্থা রয়েছে। এটি একটি বড় এবং গুরুতর সুরক্ষা বিষয়। এটা গুরুত্বপূর্ণ.
  • আপনার যদি সত্যিই আপনার প্যাকেজটি ম্যাভেন সেন্ট্রালটিতে পৌঁছানোর প্রয়োজন হয় (উত্তরাধিকার সরঞ্জামগুলির সমর্থনের জন্য) আপনি এটি বিন্ট্রে থেকেও করতে পারেন , একটি বোতামের একটি ক্লিক বা এমনকি স্বয়ংক্রিয়ভাবে

পারফরম্যান্স উন্নতি সম্পর্কে, কয়েকজন অ্যান্ড্রয়েড বিকাশকারী অ্যাডভোকেটরা মাভেন সেন্ট্রালের সাথে বিশাল সূচকের বিষয়টি সম্মুখীন / লক্ষ্য করেছেন।

এর কথায় তোর Norbye :

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

তারপরে আমি আমার ডিরেক্টরিটির আকারটি দেখেছি।

আমার ~ / লাইব্রেরি / ক্যাশে / অ্যান্ড্রয়েড স্টুডিওপ্রিভিউ 1.5G এবং এর মধ্যে 1.2 জি "মাভেন" উপ-ডিরেক্টরি দ্বারা নেওয়া।

যে হাস্যকর. আমরা সবেমাত্র সূচকটি ব্যবহার করি। এর প্রাথমিক ব্যবহার হ'ল প্রকল্প কাঠামো ডায়ালগের নির্ভরতা সম্পাদক, তবে আমাদের এটির জন্য সত্যিকারের পূর্বনির্ধারিত সূচকের দরকার নেই। মাভেনসেন্ট্রালের একটি দ্রুত অনলাইন জেএসওএন অনুসন্ধান রয়েছে যখন আমরা কেউ কারুশিল্প অনুসন্ধান করি তখন আমরা চাহিদা অনুযায়ী ব্যবহার করতে পারি। ইন https://android-review.googlesource.com/#/c/94843/ আমরা তিসি চেক যা কিনা নির্ভরতা চেক আপ টু ডেট আছে যোগ এবং হস্তনির্মিত থাবা জন্য অনুসন্ধান কাছাকাছি তাত্ক্ষণিক হয়।

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

এছাড়াও, আপনি হ্যাকার নিউজের উপর এটি খুব সংক্ষিপ্ত (1Q এবং 1A) আলোচনা আকর্ষণীয় মনে করতে পারেন।


আমি পিছনে সংস্থা জেফ্রোগের সাথে আছি এবং , বিশদ এবং লিঙ্কগুলির জন্য আমার প্রোফাইল দেখুন ।


60

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

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

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


5
আপনি এখানে গ্রেড-সমর্থিত ভাণ্ডারগুলির তালিকাও খুঁজে পেতে পারেন - মাভেন সেন্ট্রাল, জেসেন্টার এবং অন্যান্য সহ: গ্রেড.এল
ডকস

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

2
শুধু একটি আপডেট - অ্যান্ড্রয়েড স্টুডিও এর RC2 হিসাবে, এটি JCenter এখনও তাই আমি মনে করি চাই সুইচ করার জন্য একটি ভাল সময় হতে পারে যা খুব শীঘ্রই, যখন অ্যান্ড্রয়েড স্টুডিও চূড়ান্ত যায়, চেক পরে আপনার সব নির্ভরতা পাওয়া যায় ....
SGill

5
সেন্ট্রাল রিপোজিটরি / মাভেন সেন্ট্রাল https সমর্থন করে fine
মনফ্রেড মশার

2
ফেব্রুয়ারী 2015 আপডেট: এএস 1.1 আরসি 1, এখনও জেন্ডার () বিল্ডস্ক্রিপ্ট / সংগ্রহস্থলের অধীনে
জোসে_জিডি

26

বিল্ড.gradle ফাইলটিতে ডিফল্ট কী তা বিবেচনাধীন নয় - একটি দল ভিত্তিক বিকাশের প্রচেষ্টাতে আপনার সত্যই সোনাইটাইপ নেক্সাস বা জেফ্রোগ আর্টিফ্যাক্টির মতো একটি সংগ্রহস্থল ব্যবস্থাপক ব্যবহার করা উচিত এবং সরাসরি সেই উজানের সংগ্রহস্থলগুলি উল্লেখ করা উচিত নয় reference

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

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

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

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

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


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

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


5
হাহাহাহা .. জেসেন্টার কেবলমাত্র সেন্ট্রাল থেকে ডাউনলোড করে তারপরে ব্যবহারকারীদের কাছে চলে যায়।
ম্যানফ্রেড মোসার

2
একটি সাধারণ "আমি মাভেন সেন্ট্রালের পিছনে সংস্থার পক্ষে কাজ করি" যথেষ্ট হবে। এটি ট্যাগলাইনের স্বাক্ষর নয়। stackoverflow.com/help/behaviour স্পষ্টভাবে বলেছে যে "... আপনার নিজের উত্তরগুলিতে আপনার অনুমোদিততা প্রকাশ করতে হবে।"
ফ্লো

8

http://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en

এই নিবন্ধটি আপনার প্রশ্নের উত্তর দিতে পারে।

প্রথমদিকে, অ্যান্ড্রয়েড স্টুডিও একটি ডিফল্ট সংগ্রহস্থল হিসাবে মাভেন সেন্ট্রালকে বেছে নিয়েছিল। আপনি একবার অ্যান্ড্রয়েড স্টুডিওর পুরানো সংস্করণ থেকে একটি নতুন প্রকল্প তৈরি করার পরে, mavenCentral () বিল্ড.gradle এ স্বয়ংক্রিয়ভাবে সংজ্ঞায়িত হবে।

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

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