android - কর্ডোভা অ্যান্ড্রয়েড প্রয়োজনীয়তা ব্যর্থ হয়েছে: "গ্রেডলের একটি ইনস্টল করা সংস্করণ খুঁজে পাওয়া যায়নি"




cordova (10)

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

$ cordova create myApp com.myCompany.myApp myApp
$ cd myApp
$ cordova platform add [email protected].2.1 --save
$ cordova requirements android --verbose

তবে ফলাফলটি হ'ল:

Running command: android list targets
Command finished with error code 0: android list,targets

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-25,android-23
Gradle: not installed 
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studio
Error: CordovaError: Some of requirements check failed
    at /usr/local/nodejs_next/lib/node_modules/cordova/src/cli.js:401:45
    at _fulfilled (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:816:30)
    at Promise.promise.promiseDispatch (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:749:13)
    at /usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:557:44
    at flush (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

এটি গ্রেডলকে খুঁজে পেতে সক্ষম হবে বলে মনে হচ্ছে না (এটি কোথায় থাকার কথা তা নিশ্চিত নয়)।

আমি কর্ডোভা এবং অ্যান্ড্রয়েড এসডিকে সরঞ্জামগুলি 25.3 এর সাথে সম্পর্কিত সমস্যার reports দেখেছি, তবে এটি অন্যরকম বলে মনে হচ্ছে এবং আমার 25.2.3 আছে (নীচে দেখুন)।

আমার কাছে নিম্নলিখিতগুলি রয়েছে (এটি সেন্টস 6.8 এ রয়েছে):

$ cordova --version
6.5.0

$ node --version
v6.10.2

$ npm --version
3.10.10

$ java -version
openjdk version "1.8.0_121"

$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0

$ echo $ANDROID_HOME
/usr/local/android-sdk

# I installed the Android SDK from here
# https://developer.android.com/studio/index.html#downloads
# under "Get just the command line tools"

$ /usr/local/android-sdk/tools/bin/sdkmanager --list
Installed packages:
  Path                        | Version | Description                    | Location                    
  -------                     | ------- | -------                        | -------                     
  build-tools;23.0.3          | 23.0.3  | Android SDK Build-Tools 23.0.3 | build-tools/23.0.3/         
  build-tools;25.0.2          | 25.0.2  | Android SDK Build-Tools 25.0.2 | build-tools/25.0.2/         
  extras;android;m2repository | 47.0.0  | Android Support Repository     | extras/android/m2repository/
  extras;google;m2repository  | 46      | Google Repository              | extras/google/m2repository/ 
  patcher;v4                  | 1       | SDK Patch Applier v4           | patcher/v4/                 
  platform-tools              | 25.0.4  | Android SDK Platform-Tools     | platform-tools/             
  platforms;android-23        | 3       | Android SDK Platform 23        | platforms/android-23/       
  platforms;android-25        | 3       | Android SDK Platform 25        | platforms/android-25/       
  tools                       | 25.2.3  | Android SDK Tools 25.2.3       | tools/                      

হালনাগাদ:

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

একটি অতিরিক্ত জিনিস যা আমাকে বিভ্রান্ত করছে: অ্যান্ড্রয়েড এসডিকে সরঞ্জামগুলির পুরানো সংস্করণগুলিতে, tools/templates/gradle/wrapper/gradlew একটি গ্রেডল র‍্যাপার স্ক্রিপ্ট ছিল। গ্রেডল ইনস্টল করতে এটি ব্যবহার করা যেতে পারে তবে আমি নিজে এটি ইনস্টল করা আরও সহজ করেছিলাম। এটি সর্বশেষতম সংস্করণ হিসাবে সরানো হয়েছে বলে মনে হচ্ছে।


অপ্ট-গেটের সাথে লিনাক্সের সমাধান (যেমন: উবুন্টু, দেবিয়ান)

আমার বেশ অনুরূপ সমস্যা আছে। আমি ত্রুটি পেয়েছি:

Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studi

কিন্তু ব্যতিক্রম ছাড়া। আমি উবুন্টু দ্বারা এটি সমাধান

sudo apt-get install gradle

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

sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle-ppa

https://wtanaka.com/node/8079

যদি এটি কাজ না করে, চেষ্টা করুন:

export PATH=$PATH:/opt/gradle/gradle-3.5/bin

অধিক তথ্য:

https://askubuntu.com/questions/915980/package-is-installed-and-is-not-detected-gradle/915993#915993

CentOS এর জন্য

CentOS এর জন্য ইনস্টলেশন gradle নির্দেশনা এই লিঙ্কের আওতায় রয়েছে

https://gist.github.com/parzonka/9371885

হালনাগাদ

এখন আমি sdkman দ্বারা গ্রেড ইনস্টল করছি এটি নোডের জন্য এনভিএম এর মতো কিছু।

Sdkman ইনস্টল করুন

curl -s "https://get.sdkman.io" | bash 

গ্রেড ইনস্টল করুন

sdk install gradle 4.0.2

ম্যাক অপারেটিং সিস্টেম

Below ~/.bash_profile নীচের লাইনটি যুক্ত করে ম্যাকের উপর গ্রেডল যুক্ত করা যেতে পারে। যদি ফাইলটি না থাকে তবে অনুগ্রহ করে touch ~/.bash_profile । এই লুকানো ফাইলটি Command + Shift + . ব্যবহার করে ফাইন্ডারে দৃশ্যমান করা যায় Command + Shift + .

export PATH=${PATH}:/Applications/Android\ Studio.app/Contents/gradle/gradle-4.6/bin/

আপনার বর্তমান টার্মিনাল সেশনে সরাসরি নতুন পথটি লোড করতে source ~/.bash_profile ব্যবহার করুন।


আমার জন্য সমস্যাটি ছিল আমার অ্যান্ড্রয়েড সংস্করণটি এখনও 6.1.2 এ ছিল যা নতুন অ্যান্ড্রয়েড স্টুডিও ২.৩.১ এর সাথে সামঞ্জস্যপূর্ণ নয়।

তাই আমি যা করেছি তা চালানো হয়েছিল

cordova platform rm android cordova platform add [email protected]


আমি অনেক চেষ্টা করেছিলাম কিন্তু শেষ পর্যন্ত তা কার্যকর হয়নি,

  1. আমি ম্যাকোস পোর্ট ব্যবহার করে গ্রেড ইনস্টল করেছি
  2. গ্রেড ইনস্টল করার পরে গ্রাডলহোম পথটি যেমনটি বলা হয়েছিল তেমন সেট করেছি
  3. আমি মৃত্যুদণ্ড কার্যকর করলাম ::

sudo chmod -R a+rwx /Library/Java/JavaVirtualMachines *

sudo chmod -R a+rwx *

sudo chmod 777 {your-gradle-path}

এটি অবিলম্বে কাজ শুরু করে


আমি কর্ডোভা সংস্করণ 7.0.1 এবং কর্ডোভা অ্যান্ড্রয়েড সংস্করণটি 6.2.3 ব্যবহার করছি। অ্যান্ড্রয়েড বিল্ড করার সময় আমি সমস্যার মুখোমুখি হয়েছি। আমি কেবল কর্ডোভা সিএলআই ব্যবহার করছি এবং অ্যান্ড্রয়েড স্টুডিও মোটেও ব্যবহার করছি না।

কর্ডোভাতে সরকারীভাবে নির্ধারিত হওয়ার আগে এই ইস্যুটির জন্য দ্রুত কাজ করা নিম্নরূপ:

  1. প্ল্যাটফর্মগুলি \ android \ check_reqs.js \ lib ফোল্ডারের অধীনে check_reqs.js ফাইলটি check_reqs.js করুন
  2. নীচের মত get_gradle_wrapper ফাংশন এ androidStudioPath ভেরিয়েবল নাল চেক এর অন্য অংশ সম্পাদনা করুন:

বিদ্যমান কোড:

else { //OK, let's try to check for Gradle! return forgivingWhichSync('gradle'); }

সংশোধিত কোড:

else { //OK, let's try to check for Gradle! var sdkDir = process.env['ANDROID_HOME']; return path.join(sdkDir, 'tools', 'templates', 'gradle', 'wrapper', 'gradlew'); }

দ্রষ্টব্য: অ্যান্ড্রয়েড প্ল্যাটফর্মটি সরানো এবং পুনরায় যুক্ত করার সময় প্রতিবারই এই পরিবর্তনটি করা দরকার

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


উইন্ডোজ জন্য:

গ্রেডলের শেষ সংস্করণটি ডাউনলোড করুন ( https://gradle.org/releases )

- একটি ফোল্ডার তৈরি করুন এবং ফাইলগুলি আনজিপ করুন (আমি সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ গ্রেড)

-বিন ডিরেক্টরি অন্তর্ভুক্ত সহ কপি করুন (সি: \ প্রোগ্রাম ফাইল (x86) \ গ্রেড \ বিন)

-পথটি সেট করুন সি: Path প্রোগ্রাম ফাইলগুলি (x86) \ গ্রেড \ বিন (আমার অনুকরণে) "পাথ পরিবেশগত পরিবর্তনসমূহ" এ

পরিবর্তনশীল নাম "পথ" এবং ভেরিয়েবল মান "সি: \ প্রোগ্রাম ফাইল (x86) \ গ্রেড \ বিন" উভয়ের জন্য: ব্যবহারকারী চলক সারণী এবং সিস্টেম ভেরিয়েবল সারণী

আপনার "প্রম্পট কমাড লাইন" পুনরায় খোলার দরকার হতে পারে

পরীক্ষা করতে, প্রম্পটে গ্রেড টাইপ করুন।


টার্মিনালে চালান:

$ sudo apt-get update
$ sudo apt-get install gradle

এটি আমার জন্য উবুন্টু 18.04 এ কাজ করে


মেশিনে একই সমস্যা তবে মাতাল হওয়া খুব সহজ:

  • ব্রিউ আপডেট
  • ব্রেইন ইনস্টল গ্রেড

লিনাক্স (int পুদিনা) ব্যবহারকারীদের জন্য উত্তর প্রসারিত করা:
1. ইনস্টল করুন অ্যান্ড্রয়েড স্টুডিও (অনেক সরঞ্জাম কমান্ড লাইনের জন্য অবচিত করা হয়েছে, সুতরাং সম্ভবত এটি প্রয়োজন)। আপনি লেখকের নির্দেশনা অনুসরণ করে, আপনার অ্যান্ড্রয়েড স্টুডিওটি / usr / স্থানীয় / অ্যান্ড্রয়েড-স্টুডিও / এ ইনস্টল করা হবে। লেখার সময়, অ্যান্ড্রয়েড স্টুডিওতে গ্রেড সংস্করণটি ৩.২, ls /usr/local/android-studio/gradle/
২. আপনার গ্রেড কমান্ডটি যোগ করুন, এটি পাঠাথ প্রসারিত করে সম্পন্ন করা যাবে, যেমন @ সুরেন্দ্র-শ্রেষ্ঠ পরামর্শ করেছিলেন ( echo 'export alias gradle=/usr/local/android-studio/gradle/gradle-3.2/bin/gradle' >> ~/.bashrc && source ~/.bashrc পরিবর্তন রক্ষার জন্য ~ / .bashrc এ লেখা উচিত), একটি উপকরণ echo 'export alias gradle=/usr/local/android-studio/gradle/gradle-3.2/bin/gradle' >> ~/.bashrc && source ~/.bashrc যুক্ত করে echo 'export alias gradle=/usr/local/android-studio/gradle/gradle-3.2/bin/gradle' >> ~/.bashrc && source ~/.bashrc । বা একটি প্রতীকী লিঙ্ক তৈরি করা: sudo ln -sn /usr/local/android-studio/gradle/gradle-3.2/bin/gradle /usr/bin/gradle (এটি আমার পছন্দ ছিল)।
৩. প্রত্যেকটি ঠিক আছে কিনা তা পরীক্ষা করার জন্য কর্ডোভা cordova requirements চালান, এমন কিছু আউটপুট করা উচিত:

Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-26,android-25,android-24,android-23,android-22,android-21,android-19,Google Inc.:Google APIs:19
Gradle: installed /usr/local/android-studio/gradle/gradle-3.2/bin/gradle

সম্ভবত আপনি সর্বশেষতম অ্যান্ড্রয়েড স্টুডিও avdmanager list targets ইনস্টল করেছেন, এটি কমান্ড android list targets avdmanager list targets , সুতরাং এটি কীভাবে ঠিক করবেন তা এখানে রয়েছে:

<android-sdk>/tools/bin পাঠাতে PATH , এটি ম্যাকএক্সের জন্য।

export PATH="$PATH:/Users/<username>/Library/Android/sdk/tools/bin"

আপনার কর্ডোভা প্রকল্পের কোডটি পরিবর্তন করুন <your-cordova-project>/platforms/android/cordova/lib/android_sdk.js

পরিবর্তন

module.exports.list_targets_with_android = function() {
    return superspawn.spawn('android', ['list', 'targets'])

থেকে

module.exports.list_targets_with_android = function() {
    return superspawn.spawn('avdmanager', ['list', 'targets'])





cordova