অ্যান্ড্রয়েড-এসডিকে ইনস্টল করতে ব্যর্থ: "java.lang.NoClassDefFoundError: জাভ্যাক্স / এক্সএমএল / বাইন্ড / এনোটেশন / এক্সএমএলস্কেমা"


166

অ্যান্ড্রয়েড এসডিকে সরঞ্জাম ইনস্টল করার সময় নিম্নলিখিত ত্রুটিটি নির্গত হয়:

java.lang.NoClassDefFoundError: জাভ্যাক্স / এক্সএমএল / বাইন্ড / এনোটেশন / এক্সএমএলস্কেমা

কেন এটি হচ্ছে এবং কীভাবে এটি স্থির করা যায়?

ডিবাগ আউটপুট:

$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$ brew cask install android-sdk
==> Caveats
We will install android-sdk-tools, platform-tools, and build-tools for you.
You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:
  'export ANDROID_SDK_ROOT=/usr/local/share/android-sdk'

This operation may take up to 10 minutes depending on your internet connection.
Please, be patient.

==> Satisfying dependencies
==> Downloading https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip
Already downloaded: /Users/tomasnovella/Library/Caches/Homebrew/Cask/android-sdk--3859397,26.0.1.zip
==> Verifying checksum for Cask android-sdk
==> Installing Cask android-sdk
==> Exception in thread "main"
==> java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
==>     at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
==>     at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
==>     at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
==>     at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
==>     at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
==> Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
==>     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
==>     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
==>     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
==>     ... 5 more
Error: Command failed to execute!

==> Failed command:
/usr/local/Caskroom/android-sdk/3859397,26.0.1/tools/bin/sdkmanager tools platform-tools build-tools;26.0.1

==> Standard Output of failed command:


==> Standard Error of failed command:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)

আমি ধরে নিয়েছি আপনার প্রশ্নটি "এই ত্রুটির কারণ কী?" উত্তরটি হ'ল এটি জাভ্যাক্স.এক্সএমএল ক্লাসগুলি খুঁজে পাবে না।
স্টিভ স্মিথ

28
আসলে এই প্রশ্নটি
জাভা

17
আমার এই সমস্যাটি রয়েছে এবং আমি আমার ত্রুটি বার্তার প্রথম লাইনটি গুগলে অনুলিপি / পেস্ট করেছি এবং এই প্রশ্নটিই প্রথম হিট হয়েছিল। শুধু তাই নয়, নীচের উত্তরগুলির মধ্যে একটি এটি সমাধান করেছে। এটি পুরোপুরি বন্ধ করা উচিত নয়: প্রশ্নগুলির বিধিগুলি যাই হউক না কেন, এই প্রশ্নটি সাইটটির পুরো উদ্দেশ্যটি প্রদর্শন করে।
লে মোট জুসেড

1
জাভা 8 এর চেয়ে পুরানো যে কোনও কিছু মুছুন/Library/Java/JavaVirtualMachines
দিমিত্রিস

2
সমস্যাটি জাভা 8 এবং জাভা 11 এর সাথে উবুন্টু 18.04 এ প্যাকেজ openjdk-8-jdkএবং ব্যবহার করে ঘটে openjdk-11-jdk। কেউ কী কী জন্য ইনস্টল করবেন javax/xml/bind/annotation/XmlSchema, বা javax/xml/bind/annotation/XmlSchemaএনডিকে কীভাবে এড়ানো যায় তা জানেন?
jww

উত্তর:


138

আজ সকালে আমার একই রকম সমস্যা হয়েছে (ইউনিটি 3 ডি ব্যবহার করে অ্যান্ড্রয়েডের জন্য নির্মাণের চেষ্টা করা)। আমি জেডিকে 9 আনইনস্টল করে জাভা এসই ডেভলপমেন্ট কিট 8u144 ইনস্টল করে শেষ করেছি । আশাকরি এটা সাহায্য করবে.

  1. brew cask uninstall java # জাভা 9 আনইনস্টল করুন
  2. brew tap homebrew/cask-versions
  3. brew cask install java8 # java8 ইনস্টল করুন
  4. touch ~/.android/repositories.cfg # এই ফাইলটি ছাড়াই, পরবর্তী পদক্ষেপে ত্রুটি ঘটবে
  5. brew cask install android-sdk

2
উইন্ডোজ 10 এ ত্রুটি পেয়েছেন, এটি চেষ্টা করেছেন, এখনও কাজ করে না। কোন টিপস?
বেদভার্ট 1

3
দুর্দান্ত - এটি আমার জন্য অ্যান্ড্রয়েড স্টুডিওতে একটি ফ্লার্ট অ্যাপ তৈরির জন্য কাজ করেছিল worked ধন্যবাদ!
দারাঘ এনরাট

20
এটি কাজ করা বন্ধ করে দিয়েছে, কাঁচা কাটা ইনস্টল জাভা 8 কাজ করে না।
kdy

4
সঠিক কমান্ডটি এখন বলে মনে হচ্ছেbrew cask install homebrew/cask-versions/java8
সিজারসোল

21
brew cask install homebrew/cask-versions/adoptopenjdk8কাজ করছে বলে মনে হচ্ছে
গুরুজ

82

এই ত্রুটিটি সমাধান করার জন্য, আপনি আপনার জাভা সংস্করণটি ডাউনগ্রেড করতে পারেন।

বা আপনার টার্মিনালে নিম্নলিখিত বিকল্পটি রফতানি করে:

লিনাক্স / ম্যাক:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

উইন্ডোজ :

set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

এবং এটা স্থায়ীভাবে সংরক্ষণ করতে আপনি রপ্তানির করতে JAVA_OPTSলিনাক্স (আপনার প্রোফাইল ফাইলে .zshrc, .bashrcএবং ইত্যাদি) বা উইন্ডোজ স্থায়ীভাবে এনভায়রনমেন্ট ভেরিয়েবল হিসাবে যুক্ত করুন।


পুনশ্চ. এটি জাভা ১১++ এর জন্য কাজ করে না, যার জাভা EE মডিউল নেই। এই বিকল্পটির জন্য একটি ভাল ধারণা, আপনার জাভা সংস্করণটি ডাউনগ্রেড করুন বা কোনও ফ্লার্ট আপডেটের জন্য অপেক্ষা করুন ।

রেফ: জেডিকে ১১: জাভা ইই মডিউলগুলির জন্য রাস্তার শেষ


6
এটি আমার জন্য উবুন্টু 18.04
ডাব্লু

3
জাভা সংস্করণ "10.0.1" 2018-04-17 সহ ম্যাকোস মোজাভে (10.14.2) আমার জন্য কাজ করেছেন।
সাবফুযিয়ন

4
ম্যাকস মোজাভেতে আমার জন্য একটি নতুন ত্রুটি তৈরি হয়েছে (10.14.2): বুট স্তর java.lang.module.FindException: মডিউল java.se.ee পাওয়া যায়নি প্রারম্ভিককরণের সময় ত্রুটি ঘটেছে
র্যান্ডি

2
আমি 1.8.0_191 চেষ্টা করেছি, কিন্তু এখনও পাচ্ছি: ত্রুটি: মূল শ্রেণীর java.se.ee খুঁজে পাওয়া বা লোড করা যায়নি
র্যান্ডি

1
জাভা 8 এর জন্য এই বিকল্পটির প্রয়োজন নেই এবং জাভা 11 এর জন্য কাজ করে না, যার জাভা ইই মডিউল নেই।
ভালদেকি

64
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee

এটি আমার জন্য উইন্ডোজটিতে সমস্যাটি স্থির করেছে।

উত্স 1 , উত্স 2


2
এটি ওবুন্টু 16.04 এ ব্যবহার করুন ( exportনা ব্যবহার করে set) এবং এটি সমস্যার সমাধান করেছে।
বেনিয়ামিন কনলান

জিনিয়াস। অনেক ধন্যবাদ. ভেবেছিলাম আমাকে আমার জেভিএম পরিবর্তন করতে হবে
ফ্লাক্স

1
জাভা 10
প্যাবজ

4
দুর্ভাগ্যক্রমে এটি জাভা ১১-এ সম্পূর্ণ মুছে ফেলা হয়েছে বলে মনে হচ্ছে
অ্যালাস্টার মউ

করছেন কাজ export JAVA_OPTS = '-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'উবুন্টু 18.04 তে
E2-E4

25

আপনি যদি নিজের জাভা সংস্করণটি পরিবর্তন করতে না চান (আমি না), আপনি অস্থায়ীভাবে আপনার শেলের সংস্করণটি পরিবর্তন করতে পারেন:

প্রথম রান

/usr/libexec/java_home -V

তারপরে আপনার যদি এটি ইনস্টল করা থাকে তবে একটি প্রধান সংস্করণ বেছে নিন, অন্যথায় প্রথমে এটি ইনস্টল করুন:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

এখন আপনি sdkmanager চালাতে পারেন।


2
$ /usr/libexec/java_home -Vদেয় bash: /usr/libexec/java_home: No such file or directoryapt-file search /usr/libexec/java_homeঠিক কিছু দেয় না
টিনো

আপনি কি ঠিকমতো A জাভা_হোম সেট করেছেন? চালান: echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.bashrc(বা প্রোফাইল আপনি যদি ব্যবহার করেন তবে) - পুনরায় লোড করুন:. ~/.bashrc
সারাহ এ

নেই /usr/libexecকোন। আপনি ম্যাকোজে আছেন? (আমি উবুন্টু / লিনাক্স এবং উবুন্টু / উইন্ডোতে আছি)
টিনো

আমি ম্যাক ব্যবহার করছি তোমার জাভা_হোম কোথায়?
সারা এ

21

ম্যাক / লিনাক্সে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

উভয় JDK 9 ও 10 জন্য কাজ করে, ছাড়া কোন স্ক্রিপ্ট (sdkmanager, avdmanager) প্যাচিং।

জাভা 11 এর জন্য দেখুন: https://stackoverflow.com/a/51644855/798165


1
ধন্যবাদ! আপনি jdk 9
জর্জি ভালভার্ট

15

আমি জেডিকে 10 (বা 9) আনইনস্টল না করে আমার পক্ষে দুটি উত্তর পেয়েছি, যা আমার প্রয়োজন create-react-app। জেডিকে 9 এবং 10 উভয়ই অ্যান্ড্রয়েড-এসডিকে অসম্পূর্ণ!


সিউ চিং পং-আসুকা কেনজি-sdkmanager এই লাইনটি প্রতিস্থাপন করে স্ক্রিপ্টটি পরিবর্তন করার পরামর্শ দেয় :

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'  

সঙ্গে:

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

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


জার্মানির পোস্টটি দ্বন্দ্বের উত্সকে নির্দেশ করে এবং এমন ফিক্স উপস্থাপন করে যা আপডেটের মাধ্যমে ওভাররাইট করা হবে না।
তিনি /Library/Java/JavaVirtualMachines/Info.plistস্ক্রিপ্ট থেকে এটি অস্পষ্ট করার একটি মাধ্যম হিসাবে নাম পরিবর্তন করার পরামর্শ দিয়েছেন যা আপনার সিস্টেমে থাকা জাভার সর্বোচ্চ সংস্করণটি সন্ধান করে। এইভাবে, জেডিকে 8 ডিফল্ট হিসাবে ফিরে আসে।
JDK 10 স্পষ্টভাবে উল্লেখ করে বা এটিকে সেট করে আপনি $JAVA_HOMEযখনই প্রয়োজন হবে তখন ডিফল্টের পরিবর্তে JDK 10 ব্যবহার করতে পারেন।
বিস্তারিত তার পোস্টে আছে।


1
নিখুঁতভাবে কাজ করেছেন, সেরা সমাধান আইএমএইচও হিসাবে এটি আপনাকে জাভা ডাউনগ্রেড করতে বাধ্য করে না
বেলা 20'18

কোনওভাবে, এওওর সাথে অনেকগুলি পরীক্ষার পরে। অ্যান্ড্রয়েড স্টুডিও, এই সমস্যাটি অদৃশ্য হয়ে গেল এবং নতুন ত্রুটিটি হয়েছিলCould not find or load main class java.se.ee
ডিএএফএলT_JVM_OPTS

3
দুর্ভাগ্যক্রমে, এটি এখন কাজ করে না। ফলাফলটি: বুট স্তর java.lang.module.FindException: মডিউল java.se.ee পাওয়া যায়নি আরম্ভ করার সময় ত্রুটি ঘটেছে
অস্কার

1
সম্মত stackoverflow.com/a/49630166/5411817 downgrading ছাড়াই ইনস্টল JDK -11 এবং jdk1.8 রাখার জন্য সঠিক সমাধান থাকার জন্য
harrisjb

15

আপনাকে আপনার প্রোফাইলে নিম্নলিখিতটি যুক্ত করতে হবে (ম্যাকোএসে কাজ করে):

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

কিছু প্যাচ করার দরকার নেই।


15

কেবল জেডিকে সংস্করণ 8 ইনস্টল করুন এবং এটি ব্যবহার করে এটি ডিফল্ট হিসাবে নির্বাচন করুন:

sudo update-alternatives --config java

10

2019-10 আপডেট করুন:

ইস্যু ট্র্যাকারে বর্ণিত হিসাবে , গুগল একটি নতুন অ্যান্ড্রয়েড এসডিকে কমান্ড-লাইন সরঞ্জামের রিলিজে কাজ করছে যা বর্তমান জেভিএম (9, 10, 11+) এ চলে এবং অবহিত JAXB EE মডিউলগুলির উপর নির্ভর করে না!

আপনি অ্যান্ড্রয়েড স্টুডিওতে নতুন অ্যান্ড্রয়েড এসডিকে কমান্ড-লাইন সরঞ্জামগুলি ডাউনলোড করতে বা ব্যবহার করতে পারেন বা গুগল সার্ভার থেকে ম্যানুয়ালি ডাউনলোড করে:

সর্বশেষতম সংস্করণগুলির জন্য repository.xML এর ভিতরে থাকা URL গুলি পরীক্ষা করুন ।

যদি আপনি ম্যানুয়ালি কমান্ড লাইন সরঞ্জামগুলি আনপ্যাক করেন তবে সেগুলি আপনার $ANDROID_HOME(উদাঃ $ANDROID_HOME/cmdline-tools/...) এর অভ্যন্তরে সাবফোল্ডারে রেখে দেওয়ার যত্ন নিন ।


জাভা 9+ ব্যবহার করার সময়, এখন থেকে উত্তর হওয়া উচিত!
লুইগি মেন্দোজা

9

আশ্চর্যজনকভাবে জাভা 9 অ্যান্ড্রয়েড-এসডিকে সামঞ্জস্যপূর্ণ নয়

$ avdmanager
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213)
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 5 more

সহজ রেফারেন্সের জন্য সমস্ত কমান্ড এক সাথে একত্রিত:

$ sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-9*.jdk/
$ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
$ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

$ /usr/libexec/java_home -V
Unable to find any JVMs matching version "(null)".
Matching Java Virtual Machines (0):
Default Java Virtual Machines (0):
No Java runtime present, try --request to install

$ brew tap caskroom/versions
$ brew cask install java8
$ touch ~/.android/repositories.cfg
$ brew cask install android-sdk
$ echo 'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"' >> ~/.bash_profile
$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
$ avdmanager

Usage:
      avdmanager [global options] [action] [action options]
      Global options:
  -s --silent     : Silent mode, shows errors only.
  -v --verbose    : Verbose mode, shows errors, warnings and all messages.
     --clear-cache: Clear the SDK Manager repository manifest cache.
  -h --help       : Help on a specific command.

Valid actions are composed of a verb and an optional direct object:
-   list              : Lists existing targets or virtual devices.
-   list avd          : Lists existing Android Virtual Devices.
-   list target       : Lists existing targets.
-   list device       : Lists existing devices.
- create avd          : Creates a new Android Virtual Device.
-   move avd          : Moves or renames an Android Virtual Device.
- delete avd          : Deletes an Android Virtual Device.

8

যেহেতু জাভা 11 জাভাটি মুছে ফেলেছে আপনাকে কিছু জার ডাউনলোড করতে হবে এবং ক্লাসপথে যুক্ত করতে হবে:

জ্যাকএক্সবি: https://javaee.github.io/jaxb-v2/

জেএফ: https://www.oracle.com/technetwork/articles/java/index-135046.html

তারপরে sdkmanager.bat সম্পাদনা করুন যাতে CLASSPATH = ... সেটটি শেষ হয় ;% CLASSPATH%

জ্যাকএক্সবি এবং জেএএফ অন্তর্ভুক্ত করতে ক্লাসস্প্যাট সেট করুন:

set CLASSPATH=jaxb-core.jar;jaxb-impl.jar;jaxb-api.jar;activation.jar

তারপরে sdkmanager.bat কাজ করবে।


এটি কাজ করে, তবে আমি এই সতর্কতাটি পেয়েছি: সতর্কতা: com.sun.xML.bind.v2.runtime.reflect.opt.Injector (ফাইল: / এফ: / android_sdk / java / jaxb-ri / lib / jaxb দ্বারা অবৈধ প্রতিফলিত অ্যাক্সেস -mpl.jar) to java.lang.ClassLoader.defineClass (java.lang.String, বাইট [], ইনট, ইনট)
AndyMc

ইয়া, দেখে মনে হচ্ছে জাভা ক্লাস সিকিউরিটি বাইপাস করার প্রতিচ্ছবি ব্যবহারের খারাপ প্রোগ্রামিং অনুশীলনের বিরুদ্ধে সতর্ক করতে শুরু করেছে, যা জ্যাকএক্সবি ব্যবহার করে (ওরাকল তাদের নিজস্ব নিয়ম ভঙ্গ করছে);)
পিটার কায়ারিং

4

দৌড়ানোর সময় আমি একই সমস্যায় পড়েছিলাম:

$ /Users/<username>/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"_

আমি এটি হিসাবে সমাধান

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home    

$ ls /Library/Java/JavaVirtualMachines/

jdk-11.0.1.jdk      
jdk1.8.0_202.jdk

জাভা পরিবর্তন করতে 1.8

$ export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home'

তারপরে একই কমান্ডটি জরিমানা করে

$ /Users/<username>/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"

এটি সেরা কেস। আপনি যদি ইতিমধ্যে JAVA_OPTS রফতানি করেন। আপনি এই উত্তর থেকে পদক্ষেপগুলি করার আগে দয়া করে প্রথমে এটি সরিয়ে দিন।
সোর্ড জেসন

4

আমিও একই সমস্যার মুখোমুখি হয়েছি। যদিও আমি কিছুটা ব্যাকটেড বিকাশকারী (এখনও বিকাশের জন্য উইন্ডোজ ব্যবহার করছি: পি)

উইন্ডোতে এই সমস্যাটি সমাধান করতে :

পদক্ষেপ 1: jdk 8 ইনস্টল করুন এটি ইনস্টল না করা থাকলে (জেডি কে 9 বা 11 কাজ করে না তবে আপনি অন্যান্য দেব ব্যবহারে এটি ইনস্টল করতে পারেন)।

চকোলেটি ব্যবহার করে খুব সহজ:

choco ইনস্টল jdk8

(চকোলেটি ব্যবহার করে ইনস্টল করা থাকলে, পদক্ষেপগুলি 2 এবং 3 এড়িয়ে যান)

পদক্ষেপ 2: এনভায়রনমেন্ট ভেরিয়েবল সেটিংসে যান এবং জাভাওয়াহোম টু jdk 8 এর ইনস্টলেশন ডিরেক্টরি সেট করুন।

JAVA_HOME

পদক্ষেপ 3: পাথ ভেরিয়েবলে যান এবং jdk 8 এর বিন ডিরেক্টরি যুক্ত করুন এবং এটিকে শীর্ষে সরিয়ে দিন।

Path_varriable

পদক্ষেপ 4: যে কোনও উন্মুক্ত টার্মিনাল সেশন বন্ধ করুন এবং একটি নতুন সেশন পুনরায় আরম্ভ করুন

অপ্রচলিত পদক্ষেপ 5: টার্মিনাল রানে আপনার উদ্দেশ্য অনুসারে (sdkmanager যোগ করতে বা কেবল ডিরেক্টরিতে নেভিগেট করতে হতে পারে):

sdkmanager --update

এখানেই শেষ! : হে বিড়বিড় করে উপভোগ করুন! : ডি


1
এটি শীর্ষ উইন্ডোজ 10 এ আমার পক্ষে কাজ করেছে!
মৌরিই

THANKSSSSSSSSSSSSSS
রাঘব জোশী

2

উইন্ডোজ মেশিনের জন্য জেডিকে এর 1.8.172 এর বেশি আনইনস্টল করুন। JDK 1.8.172 ইনস্টল করুন

আমি জাভা 10 সহ উইন্ডোজ 10 এ একই সমস্যার মুখোমুখি হয়েছি I


2

লিনাক্স ব্যবহারকারীদের জন্য (আমি একটি ডেবিয়ান ডিস্ট্রো, কালী ব্যবহার করছি) আমি কীভাবে আমার সমস্যার সমাধান করেছি তা এখানে।

আপনার যদি ইতিমধ্যে jdk-8 না থাকে তবে আপনি এটি ওরাকল এর সাইটে পেতে চান

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

আমি jdk-8u191-linux-x64.tar.gz পেয়েছি

পদক্ষেপ 1 - জাভা সরানো ইনস্টল করুন এবং এটি মত একটি উপযুক্ত জায়গায় আনপ্যাক

$ mv jdk-8u191-linux-x64.tar.gz /suitablelocation/
$ tar -xzvf /suitablelocation/jdk-8u191-linux-x64.tar.gz

আপনার jdk1.8.0_191 এর মতো একটি আনজিপড ফোল্ডার পাওয়া উচিত, স্থান সংরক্ষণের জন্য আপনি তারবালকে পরে মুছতে পারেন

পদক্ষেপ 2 - ডিফল্ট জাভা অবস্থানের বিকল্প স্থাপন করা

$ update-alternatives --install /usr/bin/java java /suitablelocation/jdk1.8.0_191/bin/java 1
$ update-alternatives --install /usr/bin/javac javac /suitablelocation/jdk1.8.0_191/bin/javac 1

পদক্ষেপ 3 - আপনার বিকল্পগুলি ডিফল্ট হিসাবে নির্বাচন করা

$ update-alternatives --set java /suitablelocation/jdk1.8.0_191/bin/java
$ update-alternatives --set javac /suitablelocation/jdk1.8.0_191/bin/javac

পদক্ষেপ 4 - ডিফল্ট জাভা সংস্করণ নিশ্চিত করা

$ java -version

মন্তব্য

  1. এখানে মূল নিবন্ধে: https://forums.kali.org/showthread.php?41- ইনস্টলিং- জাভা-on- কালি- লিনাক্স, মোজিলার জন্য ডিফল্ট প্লাগইন সেট করা হয়েছিল। আমি ধরে নিই যে আমাদের কেবলমাত্র অ্যান্ড্রয়েডের জন্য বিকাশ করার চেষ্টা করছি বলে আমাদের সত্যিই প্লাগিনগুলির দরকার নেই।
  2. @ স্প্যাসোভেজেলের উত্তরের হিসাবে, আপনার সরঞ্জাম o / .android ডিরেক্টরিতে একটি @ repositories.cfg ফাইলও রাখা উচিত কারণ সরঞ্জাম রেপো তালিকাগুলি আপডেট করার জন্য এটি প্রয়োজন
  3. কিছু জিনিস চারপাশে স্থানান্তর করতে রুট কর্তৃপক্ষের প্রয়োজন হতে পারে। সুডো বুদ্ধিমানের সাথে ব্যবহার করুন।
  4. Sdkmanager ব্যবহারের জন্য, অফিসিয়াল গাইড দেখুন: https://developer.android.com/studio/command-line/sdkmanager

1

কমান্ড লাইনে রান java -versionএবং javac -versionকমান্ডগুলি নিশ্চিত করুন যে তারা একই জেডিকে থেকে এসেছে (উদা: সংস্করণ 1.8.0_181)

যদি তা না হয় তবে আপনাকে পরিবর্তনশীলটি PATHপরিবর্তন করতে হবে যাতে এটি কেবল একটি একক জেডিকেই নির্দেশ করে। কীভাবে করবেন তা আপনি যদি নিশ্চিত না হন তবে জাভা 8 (উইন্ডোতে প্রোগ্রাম যুক্ত / সরান) ব্যতীত অন্য সমস্ত জাভা দৃষ্টান্ত আনইনস্টল করুন। আজকের হিসাবে, ityক্য এবং অ্যান্ড্রয়েড উভয়ই আপনাকে JDK 8 ব্যবহার করার পরামর্শ দেয়।

জাভা 8 এর সাথে, java.se.eeঅন্যান্য উত্তরগুলির মতো দেখানো মডিউল রফতানি করা প্রয়োজন হবে না । আপনি সেট করা যে কোনও JAVA_OPTSবা অন্য পরিবেশের ভেরিয়েবলগুলি সরিয়ে ফেলতে পারেন।


1

আমি সম্প্রতি JDK এর উচ্চতর সংস্করণটি আনইনস্টল করে এবং JDK 8 ইনস্টল করে এই সমস্যাটি সমাধান করেছি the জেডিকে ইনস্টল করার পরে আপনাকে পথ দেওয়া দরকার। তারপরে আপনাকে "সি: \ ব্যবহারকারীগণ \ মিলান অধিকারী \ অ্যাপডাটা \ লোকাল \ অ্যান্ড্রয়েড \ এসডিকে \ সরঞ্জামসমূহ" এ কমান্ড প্রম্পটটি খুলতে হবে এবং "এসডিএমম্যানের - আপডেট" চালানো হবে যা আপনার এসডিকে আপডেট করবে এবং তারপরে আপনাকে "বিড়বিড় ডাক্তার চালাতে হবে - -অ্যান্ড্রয়েড-লাইসেন্স "সেন্টিমিডিতে এবং সমস্ত লাইসেন্স স্বীকার করে।
এখন আপনার সমস্যা সমাধান করা উচিত।


1

আমার ক্ষেত্রে, আমার জেডিকে 8 (উবুন্টুর অধীনে কিউটিতে AVD এবং SDK পরিচালক ব্যবহার করার চেষ্টা করা) এবং 11 টি বিভিন্ন সরঞ্জামের জন্য উভয়ই প্রয়োজন। সংস্করণ 11 সরানো কোনও বিকল্প নয়।

'JAVA_OPTS' সমাধানগুলি কিছু করে নি। আমি সত্যিই রফতানি JAVA_HOME পছন্দ করি না, কারণ এটি আপনাকে যে কোনও সরঞ্জাম একই শেল (Qt এর মত) থেকে এই ব্যবহারগুলি কল করতে বাধ্য করতে পারে বা এই স্থায়ী করতে বাধ্য করবে, যা সুবিধাজনক নয়।

সুতরাং আমার জন্য সমাধানটি বেশ সহজ। Line / অ্যান্ড্রয়েড / সরঞ্জাম / বিন / এসডিমানজার এবং and / অ্যান্ড্রয়েড / সরঞ্জাম / বিন / অ্যাভিডম্যানারেজের দ্বিতীয় লাইনে এর মতো কিছু যুক্ত করুন:

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

(বা আপনার রেভ 8 জেডকে পাথ যাই হোক)।

এটির সাহায্যে এই কমান্ড লাইন সরঞ্জামগুলি একা একা মোডে কাজ করে, যখন তারা অন্যান্য সরঞ্জাম যেমন Qt দ্বারা ডাকা হয় তখনও এটি কাজ করে এবং jdk 11 এখনও অন্যদের জন্য সিস্টেম ডিফল্ট। Libs ইত্যাদি মিশ্রিত করার দরকার নেই ...

কেবলমাত্র খারাপ দিকটি হ'ল এই কমান্ড লাইন সরঞ্জামগুলির যে কোনও আপডেট এই পরিবর্তনগুলি মুছে ফেলবে, যা আপনাকে আবার রাখতে হবে।


চূড়ায়! ধন্যবাদ!
অনুদানকারী

0

আপনার জাভা সংস্করণটি ডাউনগ্রেড করুন W যা কিছু সিস্টেম বা আদর্শ।

নিশ্চিত করুন যে জাভা সংস্করণ 8 এর চেয়ে বেশি নয়

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


0

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



0

আমার পরিস্থিতিতে আমি একাধিক জাভা সংস্করণ পরিচালনা করতে sdkman ব্যবহার করছি। আমি 13 এ ডিফল্ট জাভা সংস্করণ সেট করেছি version সংস্করণ 8 ইনস্টল করুন এবং এখন এটি ঠিকঠাক কাজ করছে।


0

কমান্ডের নীচে ব্যবহার করা ভাল উপায়

   $ wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
   $ unzip \platform-tools-latest-linux.zip
   $ sudo cp platform-tools/adb /usr/bin/adb
   $ sudo cp platform-tools/fastboot /usr/bin/fastboot

এটি আপডেট হয়েছে তা যাচাই করতে এখন অ্যাডবি সংস্করণটি চালান।

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