সমস্ত এসডিকে লাইসেন্স স্বয়ংক্রিয়ভাবে গ্রহণ করুন


441

যেহেতু গ্রেড অ্যান্ড্রয়েড প্লাগইনগুলি ২.২-আলফা 4 :

গ্রেডেল নিখোঁজ এসডিকে প্যাকেজগুলি ডাউনলোড করার চেষ্টা করবে যা কোনও প্রকল্প নির্ভর করে

যা আশ্চর্যজনকভাবে দুর্দান্ত এবং এটি জেকওয়ার্টন প্রকল্প হিসাবে পরিচিত ছিল

তবে, এসডিকে গ্রন্থাগারটি ডাউনলোড করতে আপনার দরকার: লাইসেন্স চুক্তিগুলি গ্রহণ করুন বা গ্রেডল আপনাকে বলে:

আপনি নিম্নলিখিত এসডিকে উপাদানগুলির লাইসেন্স চুক্তিগুলি গ্রহণ করেন নি: [অ্যান্ড্রয়েড এসডিকে বিল্ড-সরঞ্জাম 24, অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম 24]। আপনার প্রকল্পটি তৈরির আগে আপনাকে লাইসেন্স চুক্তিগুলি গ্রহণ করতে হবে এবং অ্যান্ড্রয়েড স্টুডিও এসডিকে ম্যানেজার ব্যবহার করে নিখোঁজ উপাদানগুলির ইনস্টলেশন সম্পূর্ণ করতে হবে। বিকল্পভাবে, লাইসেন্স চুক্তিগুলি কীভাবে একটি ওয়ার্কস্টেশন থেকে অন্য ওয়ার্কে স্থানান্তর করতে হয় তা জানতে, http://d.android.com/r/studio-ui/export-license.html এ যান

আর এই একটা সমস্যা, কারণ আমি সব SDK নির্ভরতা ইনস্টল করতে চাই যখন একটি করছে gradle build

আমি সমস্ত লাইসেন্স স্বয়ংক্রিয়ভাবে গ্রহণের জন্য একটি সমাধান খুঁজছি। গ্রেড লিপি হতে পারে? তোমার কোন ধারনা আছে ?

ধন্যবাদ!

[Edit]

একটি সমাধান কার্যকর করা ছিল:

android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository

এবং এটি ম্যানুয়ালি ইনস্টল করুন তবে এটি করা গ্রেডের নতুন বৈশিষ্ট্যের উদ্দেশ্য।

[সম্পাদনা 2]

Sdkmananger ব্যবহার করা একটি আরও ভাল সমাধান:

yes | sdkmanager --licenses

12
echo y |লাইসেন্সটি স্বীকার করতে আপনি সেই আদেশের সামনে পপও করতে পারেন । হেডলেস সিআই বাক্সে চলার সময় দরকারী :)
ডরি

3
আমার কাজটি করতে হয়েছিল ~/.android/tools/android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repositoryকারণ androidহাতিয়ারটি আমার বাড়িতে স্থানীয় করা হয়েছিল
জ্যাকসনক্র

7
sdkmanager --license আর কাজ করে না। আমি - আপগ্রেড ব্যবহার করেছি, ত্রুটিগুলি উপেক্ষা করেছি এবং এটি লাইসেন্সের সমস্যাগুলি বাছাই করেছি।
jcsubmit

6
আমি এই কমান্ডটি সিআই এনভায়রনমেন্ট বিল্ড স্ক্রিপ্টের জন্য সামান্য সমন্বয় সহ ব্যবহার করেছি। আমি --sdk_root = $ ANDROID_SDK_PATH যোগ করেছি। সমস্যাটি ছিল যে লাইসেন্সগুলি গ্রহণ করা হয়েছিল এবং অ্যান্ড্রয়েড এসডিকে মূল ফোল্ডারে সংরক্ষণ করা হয়নি। চূড়ান্ত আদেশ: হ্যাঁ | sdkmanager --license --sdk_root = $ ANDROID_SDK_PATH (sudo ছাড়া)
adi9090

3
$ANDROID_SDK_PATHআপনি এসডিকে (যেমন /opt/android-sdk:) ইনস্টল করেছেন এমন আসল মূল পথটি সেট করে রেখেছেন বা সরাসরি পথটি (যেমন yes | sdkmanager --licenses --sdk_root=/opt/android-sdk:) রেখেছেন তা নিশ্চিত করুন
জিএমসি

উত্তর:


365

AndroidSDK অবশেষে লাইসেন্স গ্রহণ করতে পারে।

yes | sdkmanager --licenses

সম্পাদনা করুন:

ম্যাকোজে @ মোওক্সের মন্তব্যে যেমন উল্লেখ করা হয়েছে, আপনি এটি করতে পারেন

yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

উইন্ডোতে @ ফো, @ মিমব্রিজ এবং @ নোটিডার্টের মন্তব্যে যেমন উল্লেখ করা হয়েছে, আপনি এটি করতে পারেন

cmd.exe ""/K"%LocalAppData%\Android\sdk\tools\bin\sdkmanager.bat --licenses"

আগে জাভা ইনস্টল করতে ভুলবেন না


4
বিধবাগুলিতে আমাকে রান যেতে হবে C:\Users\x1\AppData\Local\Android\sdk\tools\androidতারপরে এটি একটি জিইউআই খুলুন এবং তারপরে অনুপস্থিত ইনস্টল করুন এবং পপস হওয়া নতুন সংলাপে "লিসেনেস গ্রহণ করুন" ক্লিক করুন।
Noitidart

8
এটি লিনাক্সের জন্য কাজ করছে না। সরঞ্জাম / বিন দিরের অধীনে বা অন্য কোথাও কোনও sdkmanager ফাইল নেই। আপনি কি সাহায্য করতে পারেন?
মেহেদমেট

36
yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
ম্যাকোজে

5
গ্রেডেল র‍্যাপার থেকে আমি কীভাবে স্বয়ংক্রিয়ভাবে লাইসেন্সগুলি গ্রহণ করতে পারি?
হাওয়ার্ড সোয়াইপ

7
পাথের জন্য @ নোটিডার্টে উত্সাহিত করুন, তবে এটি কার্যকর হয়নি, আমাকে সি চালাতে হয়েছিল: \ ব্যবহারকারী \ x1 \ অ্যাপডাটা \ লোকাল \ অ্যান্ড্রয়েড \ এসডিকে \ সরঞ্জামগুলি \ বিন \ এসডকেম্যানেজার - কমান্ড প্রম্পট থেকে লিকেন্স এবং "y" চাপুন "+
প্রম্প্টগুলিতে

177

আমি alpha5পূর্বরূপ সহ এটির মুখোমুখি হয়েছি ।

জ্যাক ওয়ার্টন আমাকে ইঙ্গিত করেছেন যে আপনি বর্তমানে ব্যবহার করতে পারেন

mkdir -p "$ANDROID_SDK/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"
echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_SDK/licenses/android-sdk-preview-license"

বর্তমান পুনরায় তৈরি করতে $ANDROID_HOME/licenseআপনার মেশিনে ফোল্ডারটি তৈরি করতে। প্রক্রিয়াটি ত্রুটি সংযোগের লিঙ্কে বর্ণিত হিসাবে একই ফলাফল হবে ( http://tools.android.com/tech-docs/new-build-s systemm/ license )।

হ্যাশগুলি লাইসেন্স পাঠ্যের sha1s, যা আমি কল্পনা করেছি পর্যায়ক্রমে আপডেট করা হবে, সুতরাং এই কোডটি কেবল এত দিন কাজ করবে :)

এবং এটি ম্যানুয়ালি ইনস্টল করুন তবে এটি করা গ্রেডের নতুন বৈশিষ্ট্যের উদ্দেশ্য।

আমি প্রথমে অবাক হয়ে গিয়েছিলাম যে এই বাক্সটি কার্যকর হয়নি, এমনকি আমি যখন নামক উপাদানগুলির জন্য লাইসেন্সগুলি গ্রহণ করেছিলাম তখনও android সরঞ্জামটির , তবে এটি আমাকে এসএসকে ম্যানেজার হিসাবে দেখিয়েছিল যা /licensesফোল্ডারটি তৈরি করে ।

আমার ধারণা, সরকারী সরঞ্জামগুলি আইনি কারণে এই পদক্ষেপটি এড়াতে চাইবে না।

রিলিজ নোটগুলি পুনরায় পড়া এটিতে উল্লেখ করা হয়েছে

এসডিকে স্বয়ংক্রিয় ডাউনলোড: গ্রেডল কোনও প্রকল্পের উপর নির্ভর করে নিখোঁজ এসডিকে প্যাকেজগুলি ডাউনলোড করার চেষ্টা করবে।

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

সম্পাদনা: বলছি যে, এসডিকে আমি এএস-এর সাথে সংযুক্ত না করা পর্যন্ত এটি আমার পরীক্ষার গুবুন্টু বাক্সে কাজ করে না। সিআই যদিও ঠিক কাজ করে - পার্থক্য কী তা নিশ্চিত নয় ...


SdkDownload বৈশিষ্ট্যটিতে কিছু উপাদান সম্পর্কিত একটি ছোট গ্লিট রয়েছে, যেমন, সমর্থন-ভি 4। এটি উপাদানগুলি আপডেট করবে তবে গ্রেডটি পরবর্তী অনুরোধ হওয়া পর্যন্ত আপডেট দেখতে পাবে না। একবার দুবার গ্রেড চালানো, একবার দূরে ফেলে দেওয়া: গ্রেড নির্ভরতা || সত্য - কোড. google.com/p/android/issues/detail?id=212309
জো বোবিয়ার

6
আপনি mkdir -pপরিবর্তে ব্যবহার করতে পারেন || true
ওল্ডগোড

এটি এই ত্রুটির জন্য আপনাকে ধন্যবাদ জানার জন্য ভাল কাজ করে। প্রতিধ্বনি $ ANDROID_SDK: যদি আপনার SDK এর পাথ হিসাবে প্রত্যাশিত সংজ্ঞায়িত করা হয় পরীক্ষা করার জন্য
tryp

আমার পরিবেশে ANDROID_SDK সংজ্ঞায়িত করা হয় নি, তবে এটি ANDROID_HOME এর সাথে কাজ করে
Dimitri L.

5
@stack_ved: আমি শুধু আরেকটি জুড়েছেন echo: echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> "${ANDROID_HOME}/licenses/android-sdk-license"। তবে আমি মনে করি আপনার সমস্যাটি অন্য কোথাও লুকিয়ে আছে।
পল

132

সর্বাধিক অ্যান্ড্রয়েড স্টুডিওর (২.৩) ​​সমস্ত লাইসেন্স আপডেট / গ্রহণের সর্বোত্তম উপায়টি চালানো:

cd $ANDROID_HOME
tools/bin/sdkmanager --licenses

আপনার সেটআপের উপর ভিত্তি করে আপনাকে লাইসেন্সের ফাইলগুলি অন্য স্থানে অনুলিপি করতে হতে পারে।


এটি দেখতে যাওয়ার সর্বোত্তম tools/bin/sdkmanager --licenses
উপায়ের

আপনি যদি পুরানো এসডিকে পরিচালক পান - তবে লাইসেন্সগুলি কাজ করবে না। সরঞ্জামগুলির ফোল্ডারটিকে অন্য কোনও স্থানে অনুলিপি করা প্রয়োজন --Sdk_root = ব্যবহার করে এটি আপনার এসডিকে ফোল্ডারে চিহ্নিত করুন, তারপরে আপনি সরঞ্জামগুলি নতুন সংস্করণে আপডেট করতে সক্ষম হবেন।
মিরেক মিশালাক

আমরা কি yesকোনওভাবে স্বয়ংক্রিয় বিল্ড সিস্টেমগুলির জন্য এই কমান্ডটি পাইপ করতে পারি ? আপনার কাছে এই মেশিনগুলিতে সর্বদা ইন্টারেক্টিভ কনসোল অ্যাক্সেস থাকবে না, সুতরাং yকীবোর্ডে শারীরিকভাবে চাপ দেওয়া কাজ করবে না।
void.pointer

এই সমাধানটি কীভাবে বাস্তবায়ন করতে পারেন দয়া করে কেউ আমাকে গাইড করতে পারেন? এই লাইনটি build.sh এ যুক্ত করতে চান?
স্ট্যাক_ভিত্তিক

1
এটি আমার পক্ষে কাজ করেছে তবে cd $ANDROID_HOMEএই আদেশটি কার্যকর করার আগে আমাকে করতে হয়েছিল
ইনুস সাহা

57

নতুন sdkmanagerইউটিলিটির জন্য:

yes | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;24.0.3"

হ্যাঁগুলির মধ্যে কিছুটা বিলম্ব রয়েছে, যাতে আদেশটি কিছুক্ষণের জন্য প্রদর্শিত লাইসেন্সের সাথে ঝুলতে পারে তবে এটির জন্য মানুষের হস্তক্ষেপের প্রয়োজন হয় না।


আমার ইনস্টল ডিবিয়ান 9-এ আমার কেবলমাত্র একটি এসডকেম্যানেজ.আরজার রয়েছে: অ্যান্ড্রয়েড-এসডিকে-লিনাক্স / সরঞ্জাম / lib / sdkmanager.jar এবং # জাভা-জার / অ্যান্ড্রয়েড- এসডিকি- লিনাক্স / টোলস / লিবি / এসডকেম্যানেজ.জার ত্রুটি: সরঞ্জাম ডিরেক্টরি ডিরেক্টরি সেট করা নেই, দয়া করে নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েড
চালাচ্ছেন

1
এটি এই ধারণার উপর ভিত্তি করে তৈরি করা হয়েছে যে আপনি এসডিকে সরঞ্জামগুলি গুগল থেকে সংরক্ষণাগার হিসাবে ডাউনলোড করেছেন এবং এগুলিকে $ এন্ড্রয়েডহোম
এ রাগারে

এটি সর্বাধিক up-to-dateউত্তর বলে মনে হচ্ছে । মনে --licensesহয় এটি আর নেই। দ্রষ্টব্য: সরবরাহ করা যেতে পারে এমন সম্ভাব্য সংস্করণগুলির তালিকা দেখতে:$ANDROID_HOME/tools/bin/sdkmanager --list
মেরিনোস আন

2
ইঙ্গিতটির জন্য ধন্যবাদ। আমি yes | android-sdk-linux/tools/bin/sdkmanager --licenses || trueআমার সিআই ব্যবহার করে শেষ ।
আইসওয়ার্ড

এস | RO এন্ড্রয়েডহোম / সরঞ্জাম / বিন / এসডি কেম্যান্জার "বিল্ড-টুলস; ২৮.০.৩" -> সংস্করণ পরিবর্তন করা আমার পক্ষে কাজ করেছে। ধন্যবাদ!
ইসহাব আচার্য

43

যদি আপনি জেনকিন্স ব্যবহার করে থাকেন তবে আপনি বিল্ড প্রক্রিয়াটির প্রথম পদক্ষেপ হিসাবে নিম্নলিখিত বাশ স্ক্রিপ্টটি ব্যবহার করতে পারেন:

(while sleep 3; do echo "y"; done) | $ANDROID_HOME/tools/android update sdk -u

এটি অবশ্যই সমস্ত উপলভ্য আপডেটগুলি ইনস্টল করবে তবে আপনি যদি ডিস্কের জায়গাটি ছাড়িয়ে নিতে পারেন তবে এটি আপনাকে কিছুটা সময় সাশ্রয় করবে। ঘুম হ'ল ইনস্টলেশন প্রোগ্রামে ভাঙা পাঠ্যপুস্তক এড়ানো, যেহেতু "হ্যাঁ" এই ক্ষেত্রে সঠিকভাবে কাজ করে না।

সম্পাদনা: আপনি যদি এসডিকে পরিচালক ব্যবহার করে থাকেন তবে সঠিক $ এন্ড্রয়েডহোম পেতে বিল্ড স্টেপে আপনার "ইনস্টল অ্যান্ড্রয়েড প্রকল্পের পূর্বশর্তগুলি" প্লাগইন যুক্ত করতে হবে।


আমার জেনকিনস বিল্ডে "কর্ডোভা প্ল্যাটফর্ম অ্যাড্রয়েড অ্যাড্রয়েড অ্যাড্রয়েড" যুক্ত করার আগে আমি উবুন্টুতে চলছে তবে নিম্নলিখিত ত্রুটিটি পেয়েছি: 7s ত্রুটিতে বিল্ড ব্যর্থ: / var / lib / jenkins / workpace / qa_global_php / প্ল্যাটফর্ম / অ্যান্ড্রয়েড / গ্রেডলিউ : প্রস্থান কোড 1 দিয়ে কমান্ড ব্যর্থ হয়েছে ত্রুটি আউটপুট: ব্যর্থতা: ব্যতিক্রম ব্যতিক্রম সহ বিল্ড ব্যর্থ। * কী ভুল হয়েছে: মূল প্রকল্প 'অ্যান্ড্রয়েড' কনফিগার করার সময় একটি সমস্যা দেখা দিয়েছে। > আপনি নিম্নলিখিত এসডিকে উপাদানগুলির লাইসেন্স চুক্তিগুলি গ্রহণ করেননি:
আশীষ কার্পে

[অ্যান্ড্রয়েড এসডিকে বিল্ড-সরঞ্জামগুলি 26.0.2]। আপনার প্রকল্পটি তৈরির আগে আপনাকে লাইসেন্স চুক্তিগুলি গ্রহণ করতে হবে এবং অ্যান্ড্রয়েড স্টুডিও এসডিকে ম্যানেজার ব্যবহার করে নিখোঁজ উপাদানগুলির ইনস্টলেশন সম্পূর্ণ করতে হবে।
আশীষ কার্পে 12'17

32

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

প্রতি ওপি নির্দেশাবলী অনুসারে, এটি নীচের মত দেখায়।

$ ./gradlew build

 
এর জন্য জেভিএম সেটিংসকে সম্মান জানাতে একটি নতুন জেভিএম গঠন করা হবে। অনুগ্রহ করে ডিমন ব্যবহার করতে বিবেচনা করুন: https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html।

ব্যর্থতা: বিল্ড ব্যতিক্রম ব্যতীত ব্যর্থ।

* কি ভুল ছিল:
প্রকল্প ': অ্যাপ' কনফিগার করতে একটি সমস্যা দেখা দিয়েছে।
> আপনি নিম্নলিখিত এসডিকে উপাদানগুলির লাইসেন্স চুক্তিগুলি গ্রহণ করেন নি:
  [অ্যান্ড্রয়েড এসডিকে বিল্ড-সরঞ্জামসমূহ 24.0.2]।

...
বিল্ড ব্যর্থ

দ্রষ্টব্য: 2017-04-16

androidটুল এখন নতুন পক্ষে অবচিত হয়েছে sdkmanager। দয়া করে জো লসনের উত্তর এবং তারপরের পোস্টগুলি মার্চ (2017) এবং এর পরে দেখুন।

তারপরে আপনি নিম্নরূপ কমান্ড সামঞ্জস্য করুন:

android update sdk --no-ui --filter build-tools-24.0.2,android-24,extra-android-m2repository
রিফ্রেশ উত্স:
  Https://dl.google.com/android/repository/addons_list-2.xml আনছে
  এক্সএমএল যাচাই করুন
  পার্স এক্সএমএল
  অ্যাড-অন তালিকা সফলভাবে প্রাপ্ত করা হয়েছে
  রিফ্রেশ উত্স
  URL আনা হচ্ছে: https://dl.google.com/android/repository/repository-11.xML
  এক্সএমএলটি যাচাই করুন: https://dl.google.com/android/repository/repository-11.xML
  পার্স এক্সএমএল: https://dl.google.com/android/repository/repository-11.xML
...
ত্রুটি: অজানা প্যাকেজ ফিল্টার উপেক্ষা করা 'বিল্ড-সরঞ্জাম-24.0.2'
-------------------------------
লাইসেন্স আইডি: অ্যান্ড্রয়েড-এসডিকে-লাইসেন্স-এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স
দ্বারা ব্যবহৃত: 
 - এসডিকে প্ল্যাটফর্ম অ্যান্ড্রয়েড 7.0, এপিআই 24, রিভিশন 2
  - অ্যান্ড্রয়েড সমর্থন সংগ্রহস্থল, রিভিশন 39
-------------------------------

...

নভেম্বর 20, 2015
আপনি কি 'অ্যান্ড্রয়েড-এসডিকে-লাইসেন্স-এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স' [y / n] লাইসেন্সটি গ্রহণ করেন?

সংরক্ষণাগার ইনস্টল করা:
  সংরক্ষণাগার ইনস্টল করার প্রস্তুতি নিচ্ছে
  ডাউনলোড করছেন SDK প্ল্যাটফর্ম অ্যান্ড্রয়েড 7.0, এপিআই 24, রিভিশন 2
  এসডিকে প্ল্যাটফর্ম অ্যান্ড্রয়েড 7.0, এপিআই 24, রিভিশন 2 ইনস্টল করা হচ্ছে
    ইনস্টল করা এসডিকে প্ল্যাটফর্ম অ্যান্ড্রয়েড 7.0, এপিআই 24, রিভিশন 296%)
  অ্যান্ড্রয়েড সহায়তা সংগ্রহস্থল ডাউনলোড করা হচ্ছে, পুনর্বিবেচনা 39
  অ্যান্ড্রয়েড সহায়তা সংগ্রহস্থল ইনস্টল করা হচ্ছে, পুনর্বিবেচনা 39
    ইনস্টল করা অ্যান্ড্রয়েড সমর্থন সংগ্রহস্থল, পুনর্বিবেচনা 3999%)
  সম্পন্ন. 2 টি প্যাকেজ ইনস্টল করা হয়েছে।

এটি আবার চালানো, এখনও গ্রেডলকে খুশি করবেন না। সুতরাং কেউ মেনে চলার একমাত্র সমাধান হ'ল যতক্ষণ না কেউ আরও ভাল কিছু নিয়ে আসে। (দয়া করে!)


1
android update sdk --no-ui --filter build-tools-24.0.2,android-24,extra-android-m2repositoryকমান্ড প্রম্পটের মাধ্যমে অ্যাডমিনের সাহায্যে এটি চালানো ত্রুটিটি ঠিক করেছে। আমি ফোনগ্যাপ প্লাগইন ম্যানেজারটি
রবিমল্যা


31

আমরা জেনকিনসে প্রকল্পটি নির্মাণের একই সমস্যা পেয়েছি। সাথে buildToolsVersion '25.0.2', বিল্ডিংয়ের আগে আমাদের অবশ্যই লাইসেন্স গ্রহণ করতে হবে। আমাদের ক্ষেত্রে, আমাদের চালানো দরকার:

yes | sdkmanager --update এটি sdkmanager নিজেই লাইসেন্স গ্রহণ করে এবং তারপরে

yes | sdkmanager --licenses যা পূর্বে গৃহীত নয় এমন নতুন লাইসেন্স গ্রহণ করে

মনে রাখবেন: একই ব্যবহারকারীর সাথে এই কমানগুলি চালান jenkins। আমাদের ডেবিয়ানে, জেনকিন্স ব্যবহারকারী ন্যায়বিচারী jenkins। অন্য কথায়: এটি করা হিসাবে rootগ্রহণযোগ্য লাইসেন্স তৈরি করবেroot করবে তেমন জেনকিনস সেগুলি পড়বে না।

উপায় দ্বারা, আমরা দেখেছি sdkmanager/var/lib/jenkins/tools/android-sdk/tools/bin। যদি আপনার না থাকে তবে এটির সাথে সন্ধান করুনfind / -name "sdkmanager"


2
ডকরে জেনকিন্সের সাথে এটিই আমার ক্ষেত্রে (বিল্ডিং সরঞ্জামগুলি 26.0.x) সমাধান করেছে solved ধন্যবাদ!
জিওর্ডানো 12

1
দুর্ভাগ্যক্রমে এটি প্রশ্নের "স্বয়ংক্রিয়" অংশ অন্তর্ভুক্ত করে না।
m0skit0

@ m0skit0 আপনার মন্তব্যের জন্য ধন্যবাদ! আমি মানুষের হস্তক্ষেপ ছাড়াই সমস্ত লাইসেন্স স্বয়ংক্রিয়ভাবে স্বীকার করতে সর্বশেষ সংস্করণ বৈশিষ্ট্যের সাথে মেলে প্রশ্নটি আপডেট করেছি।
রক বোরোনাত

24

androidসরঞ্জামটি থামানোর জন্য হয় এবং আপনি ব্যবহার করা উচিত sdkmanagerপরিবর্তে। sdkmanagerআপনি যখন প্রথমবার এটি গ্রহণ করেন তখন লাইসেন্স ফাইলটিও লেখেন। কমান্ড সত্ত্বেও আপনি কোন এসডিকে ব্যবহার করছেন তার উপর নির্ভর করে লাইসেন্স পরিবর্তন হয়

echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"

কিছু সিস্টেমে কাজ করে। এটি সব কাজ করবে না। কিছু এসডিকে ইনস্টলগুলি ফাইলের কোনও নতুন লাইন ছাড়াই ফাইলের লাইসেন্সের সমাপ্তি আশা করে তাই -nপ্রতিধ্বনি কমান্ডটিতে একটি যুক্ত করার চেষ্টা করুন ।

echo -n -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"

যদি এটি কাজ না করে থাকে তবে পরিবর্তে বেস 64 এনকোডিং ব্যবহার করে দেখতে পারেন।

সুতরাং আমার লাইসেন্সটি আবিষ্কার করতে:

$> rm ${ANDROID_HOME}/
$> unzip tools_r25.2.3-linux.zip -d ${ANDROID_HOME}
$> ${ANDROID_HOME}/tools/bin/sdkmanager "system-images;android-23;default;x86_64"

এটি আপনাকে লাইসেন্সটি গ্রহণের অনুরোধ জানাবে। এটি গ্রহণ করার পরে এটিতে অনুলিপি করব ${ANDROID_HOME}/licenses/android-sdk-license। আপনি সর্বদা লিখিত ব্যবহারে যা পাবেন তা নিশ্চিত করার জন্য base64

$> base64 ${ANDROID_HOME}/licenses/android-sdk-license
Cjg5MzNiYWQxNjFhZjQxNzhiMTE4NWQxYTM3ZmJmNDFlYTUyNjljNTU=

তারপরে আপনি base64 -dফাইলটি পুনরায় তৈরি করতে পারবেন ।

$> echo Cjg5MzNiYWQxNjFhZjQxNzhiMTE4NWQxYTM3ZmJmNDFlYTUyNjljNTU= | base64 -d > ${ANDROID_HOME}/licenses/android-sdk-license

ফাইলটি কোনও sha1sum চালিয়ে যা প্রত্যাশা করা হয় তা যাচাই করতে পারেন।

$> sha1sum ${ANDROID_HOME}/licenses/android-sdk-license
da6b80c9c47b41c0bf7032938e7137a58a3dc249

19

আপনি যদি চালনা করেন yes | sdkmanager --licensesতবে আমরা এর লিখিত সামগ্রী মুদ্রণ করি $ANDROID_HOME/licenses/android-sdk-license,

আমরা এটি পেতে হবে

# cat $ANDROID_HOME/licenses/android-sdk-license

8933bad161af4178b1185d1a37fbf41ea5269c55

d56f5187479451eabf01fb78af6dfcb131a6481e

গিটল্যাব সিআইয়ের জন্য, অ্যান্ড্রয়েড এসডিকে বিল্ড-সরঞ্জামগুলি 26.0.2 লাইসেন্স গ্রহণ করতে আপনার এটি চালানো দরকার

before_script:
  - mkdir -p $ANDROID_HOME/licenses
  - echo "8933bad161af4178b1185d1a37fbf41ea5269c55" > $ANDROID_HOME/licenses/android-sdk-license
  - echo "d56f5187479451eabf01fb78af6dfcb131a6481e" >> $ANDROID_HOME/licenses/android-sdk-license

আপনি দ্বিতীয় প্রতিধ্বনি একই যাচ্ছেন $ANDROID_HOME/licenses/android-sdk-licenseএই উদ্দেশ্য? অর্থাত। সংযোজন
রায়ান আর

1
@ রায়ানআর, হ্যাঁ, দ্বিতীয় প্রতিধ্বনি সংযোজন করা হচ্ছে, Android SDK Build-Tools 26.02একটি নতুন লাইসেন্স
শ 1

আমি বিটবাকেট পাইপলাইন ব্যবহার করছি, তবে ধারণাটি গিটল্যাব সিআই-এর মতোই বলে মনে হচ্ছে। আপনার উত্তর আমাকে পুরো প্রক্রিয়াটি আরও ভালভাবে বুঝতে সহায়তা করেছে। ধন্যবাদ!
হাস্যকর

@ রিডকুলি আমি বিটবুকিট পাইপলাইনগুলিও ব্যবহার করছি এবং যখন আমরা আপগ্রেড করেছি Build-Tools 26.0.2এবং আমাদের বিল্ডটি ভেঙে গেছে তখন নিজেকে এখানে পেয়েছি । আমার শেষ সমাধানটি সহজভাবে করা ছিল yes | sdkmanager --licenses। কোনও echoপ্রয়োজন নেই এবং এটি ভবিষ্যতের প্রমাণ।
রায়ান আর

@ রায়ান আপনার মানে আমি কেবল 'হ্যাঁ' যুক্ত করতে পারি sdkmanager --license 'থেকে পাইপলাইন.আইএমএল? এটা দুর্দান্ত হবে!
রিডকুলি

16

নোট করুন যে বর্তমানে এই প্রশ্নে যে কেউ আসছেন তার জন্য, বিল্ড-সরঞ্জাম-24.0.2 হ'ল (আমার মনে হয়) এখন অপ্রচলিত হিসাবে বিবেচিত, সুতরাং আপনি পাবেন:

 Error: Ignoring unknown package filter 'build-tools-24.0.2'

তাদের ইনস্টল করার পরামর্শ দেওয়া হয়েছে এমন বিভিন্ন কমান্ড চালানোর সময়।

সমাধানটি যুক্ত করা হল --all:

android update sdk --no-ui --all --filter "build-tools-24.0.2"

এছাড়াও যদি আপনি 32 বিট লিনাক্সে থাকেন তবে বিল্ড সরঞ্জামগুলির 23.0.1 এর পরে সমস্ত কিছু কেবলমাত্র 64 বিট , তাই চলবে না। 32 বিট ব্যবহারকারী 23.0.1 এ আটকে আছে, পরবর্তী বিল্ড সরঞ্জামগুলি পাওয়ার একমাত্র উপায় 64৪ বিবিটে স্যুইচ করা।


1
হ্যাঁ, বিল্ড-সরঞ্জামগুলি কেবল ধাক্কা খেয়েছিল 25.0.1
not2qubit

1
আপনার সমাধান আমি শুধু বিল্ড-সরঞ্জাম-25 এবং gradle 4 16 মেশিন উবুন্টু একটি হেডলেস কাজ করার খুঁজে পাইনি ছিল
spartygw

14

আপনি যদি ব্যবহার করেন তবে tools/bin/sdkmanager --licensesআপনার একটি মানুষের ইন্টারঅ্যাকশন হওয়া দরকার। আমার গিটল্যাব সিআই ব্যবহার করতে আমার সমস্যা হচ্ছে। এটি আমার সমাধান:

wget --quiet --output-document=tools.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip -qq tools.zip
echo y | tools/bin/sdkmanager "platforms;android-25"
echo y | tools/bin/sdkmanager "platform-tools"
echo y | tools/bin/sdkmanager "build-tools;25.0.2"
echo y | tools/bin/sdkmanager "extras;android;m2repository"
echo y | tools/bin/sdkmanager "extras;google;m2repository"

echo y যদি কোনও প্রশ্ন থাকে তবে হ্যাঁ বলবে, তবে আপনাকে ইনস্টল প্যাকেজ প্রতি এক লাইন করা দরকার


এখনও বেশ কয়েক মাস পরে প্রাসঙ্গিক। ধন্যবাদ. আপনি আমার দিনটি সংরক্ষণ করেছেন :)
প্রসন্ন রামস্বামী

এটি আমার জন্য সহায়ক ছিল,
গিটল্যাব

13

আপনি কেবল কার্যকর করতে পারেন:

$ANDROID_HOME/tools/bin/sdkmanager --licenses

এবং উইন্ডোজে, কার্যকর করুন:

%ANDROID_HOME%/tools/bin/sdkmanager --licenses

11

এসডিকে এপিআই 25 নম্বর সম্পর্কিত ত্রুটি বার্তার জন্য:

android update sdk --no-ui --all --filter build-tools-25.0.1,android-25,extra-android-m2repository


10

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

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


7

আমি গ্রহণযোগ্য লাইসেন্স ফাইলগুলি দিয়ে একটি পাবলিক গিট রেপো তৈরি করে এই সমস্যার সমাধান করেছি। তারপরে আমি চালানোর আগে আমার wgetকোনও [sdk-dir] / লাইসেন্স ডিরেক্টরিতে প্রয়োজনীয় যে কোনও মেশিনে এই লাইসেন্সগুলি আনতে ব্যবহার করি / / আমার প্রকল্পটি তৈরি করার জন্য গ্রেডলিও


6

কমান্ড লাইন এসডিকে নিয়ে সমস্যা রয়েছে তাদের জন্য, আপনি যে লাইসেন্সগুলি গ্রহণ করেছেন তা এটি খুঁজে পাবে না কারণ সেগুলি $ANDROID_HOME/licensesযেখানে হওয়া দরকার তার চেয়ে আলাদা জায়গায় লিখিত হয়েছে ।

আমি খুঁজে পেয়েছি সবচেয়ে সহজ সমাধানটি ছিল এই জাতীয় লাইসেন্সগুলি গ্রহণ করা:

$ANDROID_HOME/bin/sdkmanager --licenses --sdk_root=$ANDROID_HOME

দ্রষ্টব্য: এটি ধরে নিয়েছে যে আপনি ANDROID_HOMEযেখানেই sdk ইনস্টল করেছেন সেখানে নির্দেশ করতে পারেন।



6

উইন্ডোগুলির জন্য, সিএমডি খুলুন এবং binকমান্ড চালিয়ে ডিরেক্টরিতে প্রবেশ করুন :

cd C:\Users\username\AppData\Local\Android\sdk\tools\android\Sdk\tools\bin

sdkmanager --licensesকমান্ড রান করুন , এটি লাইসেন্স গ্রহণ করতে বলবে asks


1
ধন্যবাদ আমি এটিই করেছি
mynameisjohnj

আমি পেয়েছিError: Unknown argument --licenses
deanwilliammills

4

সত্যিকারের নীরব এবং স্বয়ংক্রিয়ভাবে ইনস্টল করার জন্য আমি অবশেষে উইন্ডোজটিতে একটি সমাধান পেয়েছি:

উইন্ডোজে, নিম্নলিখিত সিনট্যাক্সগুলি কাজ করে না:

echo y | sdkmanager --licenses

মনে হচ্ছে "y" সঠিকভাবে ব্যাচের মধ্যে ডাকা জাভা প্রোগ্রামে প্রেরণ করা হয়নি।

কাজটি হ'ল একাধিক "y" দিয়ে একটি করে ফাইল ফাইল- y.txt তৈরি করা এবং একে একে লাইনে ব্যবহার করা

call sdkmanager --licenses < file-y.txt

এটি লাইসেন্স ডিরেক্টরিতে প্রয়োজনীয় ফাইল তৈরি করবে। সমস্যাটি সম্ভবত জাভাতে বাফার্ডআরডার ব্যবহারের সাথে সম্পর্কিত


3

পুরো লাইসেন্স / ডিরেক্টরিটি অনুলিপি করুন এবং মেশিনে যেখানে আপনি আপনার প্রকল্পগুলি তৈরি করতে চান সেখানে অ্যান্ড্রয়েড এসডিকে হোম ডিরেক্টরিতে এটি আটকান।

https://developer.android.com/studio/intro/update.html#download-with-gradle

এটি আমার জন্য সমস্যাটি সমাধান করেছে


3

উইন্ডোজ পাওয়ারশেলে, আপনি এটি করতে পারেন

for($i=0;$i -lt 30;$i++) { $response += "y`n"}; $response | sdkmanager --licenses

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


উইন্ডোজ ব্যবহার না করার আরেকটি কারণ।
m0skit0

3

কর্ডোভা ব্যবহার করার সময় আমারও একই ত্রুটি ছিল।

সমস্যা যে আমি অ্যান্ড্রয়েড স্টুডিও মাধ্যমে এবং এর মাধ্যমে Android SDK ইন্সটল হবার কথা ছিলো aptসঙ্গে apt install android-sdk adb। এবং কর্ডোভা aptআমার হোম ডিরেক্টরিতে থাকা ফাইলগুলির পরিবর্তে ইনস্টল করা ফাইলগুলি কল করছিল ।

এটি একবার কাজ করে যখন আমি ব্যাডে এসডিকে যাত্রা শুরু করেছি:

# Change path
export ANDROID_HOME="$HOME/Android/Sdk/"
echo "Android home = $ANDROID_HOME"
# Accept licenses
eval "${ANDROID_HOME}/tools/bin/sdkmanager --licenses"
# Run Cordova
cordova build android

তারপর আমি সিস্টেম ফাইল যে আর ব্যবহার করা হয়নি সরানো হয়েছে: apt remove android-sdk adb


3

এখানে আমার ডকার সেটআপ আছে।
আপনি একটি সাধারণ লিনাক্স পরিবেশ থেকে অনুসরণ করতে পারেন।

নোট করুন yes |এবং --licenses --sdk_root=${ANDROID_HOME}ধারাগুলি।
দেখে মনে হচ্ছে sdkmanager --updateচুক্তিগুলি উল্টে গেছে, তাই yes |দু'বার প্রদর্শিত হয়েছে।

FROM openjdk:8
# Install dev-essential(gnumake)
RUN apt update
RUN apt install -y build-essential
# Set ENV
ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip" \
    ANDROID_HOME="/usr/local/android-sdk" \
    ANDROID_VERSION=28 \
    ANDROID_BUILD_TOOLS_VERSION=28.0.3 \
    GRADLE_VERSION=4.10.3 \
    NDK_VERSION=r16b
# Download Android SDK
RUN mkdir "$ANDROID_HOME" .android \
    && cd "$ANDROID_HOME" \
    && curl -o sdk.zip $SDK_URL \
    && unzip sdk.zip \
    && rm sdk.zip \
    && yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses --sdk_root=${ANDROID_HOME}
# Install Android Build Tool and Libraries
RUN $ANDROID_HOME/tools/bin/sdkmanager --update
RUN yes | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
    "platforms;android-${ANDROID_VERSION}" \
    "platform-tools" --sdk_root=${ANDROID_HOME}
# Install Gradle
RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
RUN mkdir /opt/gradle
RUN unzip gradle-${GRADLE_VERSION}-all.zip -d /opt/gradle
ENV PATH=${PATH}:/opt/gradle/gradle-${GRADLE_VERSION}/bin
# Install NDK
RUN wget https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux-x86_64.zip
RUN mkdir /opt/ndk-bundle
RUN unzip android-ndk-${NDK_VERSION}-linux-x86_64.zip -d /opt/ndk-bundle
ENV PATH=${PATH}:/opt/ndk-bundle

RUN mkdir /application
WORKDIR /application

"এটি sdkmanager বলে মনে হয় - আপডেট চুক্তিগুলি উল্টে দেয়, তাই হ্যাঁ | দুইবার উপস্থিত হয়েছে" " বাহ, আপনি ঠিক বলেছেন। এটি খুব হতাশাজনক তবে ভাল সন্ধান।
সিফাস

2

আপনি নিম্নলিখিত আদেশটি কার্যকর করে সমস্ত লাইসেন্স গ্রহণ করতে পারেন:

 sdkmanager --licenses

এটি আপনাকে স্বীকার না করা প্রতিটি লাইসেন্সের মাধ্যমে আপনাকে yজিজ্ঞাসা করবে এবং আপনি সেগুলির প্রতিটি গ্রহণের জন্য কেবল প্রবেশ করতে পারেন ।


"স্বয়ংক্রিয়ভাবে"
m0skit0

2

আমি উইন্ডোজ 10 মেশিনে উপরের সমস্ত কমান্ডটি চেষ্টা করেছিলাম তবে সমাধানটি ছিল SDKMANAGER ব্যবহার করে লাইসেন্সগুলি পরীক্ষা করা এবং গ্রাহক সংস্করণগুলি ইনস্টল করার জন্য স্বীকৃতি স্বীকার করতে

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


কোনও সিএমডি কমান্ডই আমার পক্ষে কাজ করেনি, কেবল এই সমাধান। ধন্যবাদ
deanwilliammills

2

সাম্প্রতিক সংস্করণগুলিতে এই পথটি পরিবর্তন করা হয়েছে। ./sdkmanagerএখন /Library/Android/sdk/cmdline-tools/latest/binএবং ঠিক আছে এখন

./sdkmanager --licenses

2

দ্রষ্টব্য: এটি কেবল ম্যাক ব্যবহারকারীদের জন্য

আমার একই সমস্যা ছিল তবে পোস্ট করা উত্তরগুলির কোনওটিই সহায়তা করতে পারেনি কারণ সেখানে কোনও toolsফোল্ডার উপস্থিত ছিল না Library/Android/sdk.(আমি ম্যাক ওএস 10.14.4 এ অ্যান্ড্রয়েড 3.6.3 ব্যবহার করছি)

ত্রুটি স্ক্রিনশট

নীচের পদক্ষেপগুলি লাইসেন্সিং সমস্যা ত্রুটি কাটিয়ে উঠতে সহায়তা করেছে:

  1. খোলা Android Studio
  2. টিপুন cmd + shift + A। এটি Actionsপপ-আপ উইন্ডোটি খুলবে ।
  3. অনুসন্ধান করুন SDK Managerএবং খোলার জন্য এন্টার টিপুন।
  4. এটি এর জন্য পপ-আপ খোলে Android SDK। ইতিমধ্যে ইনস্টল হওয়াটি বাদে Android এর কিছু অন্যান্য সংস্করণ নির্বাচন করুন Select (আমার ক্ষেত্রে অ্যান্ড্রয়েড 10.0 ইতিমধ্যে ইনস্টল ছিল তাই আমি Android 9.0 নির্বাচন করেছি)
  5. তারপরে Applyবাটনটি সিলেক্ট করুন । এটি সম্পর্কিত এসডিকে ইনস্টল করবে।

সমাধান

  1. এখন আপনার অ্যাপটি চালান এটি কোনও ব্যতিক্রম ছাড়াই কাজ করা উচিত।

সাফল্য স্ক্রিনশট


আরে, এটি লিনাক্সমিন্ট 19.3
গ্যারিপ

1

আমি দৌড়াই

#react-native run-android 

টার্মিনাল থেকে এবং সমস্যাটি পূরণ। ম্যানুয়ালি জন্য, অ্যান্ড্রয়েড স্টুডিওতে যান -> অ্যান্ড্রয়েড এসডিকে -> এসডিকে প্ল্যাটফর্ম প্যাকেজগুলি বিশদ প্রদর্শন ক্লিক করুন এবং চেক করুন:

+ Google APIs
+ Android SDK Platform 23
+ Intel x86 Atom_64 System Image
+ Google APIs Intel x86 Atom_64 System Image

প্যাকেজ ইনস্টল করার সময়, লাইসেন্স গ্রহণ করুন>> পরীক্ষা করুন সমস্যার সমাধান করতে পারে।


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