Androidプロジェクトをコンパイルしようとしていますが、このエラーが発生します
[INFO] Exception in thread "main" Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main : Unsupported major.minor version 52.0
[INFO] at Java.lang.ClassLoader.defineClass1(Native Method)
[INFO] at Java.lang.ClassLoader.defineClass(ClassLoader.Java:800)
[INFO] at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
[INFO] at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:449)
[INFO] at Java.net.URLClassLoader.access$100(URLClassLoader.Java:71)
[INFO] at Java.net.URLClassLoader$1.run(URLClassLoader.Java:361)
[INFO] at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
[INFO] at Java.security.AccessController.doPrivileged(Native Method)
[INFO] at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
[INFO] at Java.lang.ClassLoader.loadClass(ClassLoader.Java:425)
[INFO] at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
[INFO] at Java.lang.ClassLoader.loadClass(ClassLoader.Java:358)
[INFO] at Sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.Java:482)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
私は他の記事でJava 8でコンパイルしようとするとこのエラーが発生する可能性があると読んでいますが、私の場合はそうではありません。次のJavaバージョンがあります。
Java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
OS:Linux Mint(私はJava 8をインストールしていません。)Build:MAVEN
誰かが私をこれで手伝ってくれる?
Androidスタジオから新しいプロジェクトを作るときも私はこの問題に直面します。
私は、アプリケーションのグレード設定でbuildToolsVersionをダウングレードすることでこれを解決することができました:change {module-name} /build.gradle line
buildToolsVersion "24.0.0 rc1"
に
buildToolsVersion "23.0.3"
@編集:
Android Studio 2.1の場合、[ファイル] - > [プロジェクト構造] - > [アプリケーション] - > [ツールバージョンのビルド]を選択します。 23.0.3に変更
上記の方法は、Javaバージョン7を使用していて、何らかの理由でまだJava 8にアップグレードしたくない場合にのみ実行してください。
お役に立てれば
Gradle Scripts >> build.gradle(モジュールアプリ)
buildToolsVersion "24.0.0" を - buildToolsVersion "23.0.3"に変更します
出典:経験
Rudy Kurniawanの答えで指定されているように、最初はbuildToolsVersion
を24.0.0 rc3
から23.0.3
に格下げしました。それから、プロジェクト設定でjdk 7が指定されていることに気付きました。私はそれをjdk 8に変更し、今度は24.0.0 rc3
作業ツールを構築します。
コンパイルオプションをJava7
に設定することも重要です。
Android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
Xamarin Visual Studioと一緒にAndroid Studioをインストールしました(既にインストールされていました)。インストール後(SDKは除外されています。すでにインストールされているため)、Android Studioを起動し、不足しているSDKをダウンロード、インストール、追加しました(SDKの場所へのパスを指定した後)。その結果、ビルド時にエラーメッセージが表示されました
Java.lang.UnsupportedClassVersionError:com/Android/dx/command/Main:サポートされていないmajor.minorバージョン52.0
解決策として、JREなしでjdk-8u101-windows-i586.exe
をインストールしました(既にインストールされているため)。私がx64バージョンを試す前に、それは消えました...それなら Java Development Kitの場所 を変更する必要があります。
これはVisual Studioで[ツール]> [オプション]> [Xamarin]> [Android設定]をクリックして行います。ここであなたは正しい場所にナビゲートすることができます。私の場合はC:\Program Files (x86)\Java\jdk1.8.0_101
でした。
最後に、プロジェクトをきれいにして新しいビルドを作ります:-)
指定された問題
スレッド "main"での例外Java.lang.UnsupportedClassVersionError:com/Android/dx/command/Main:サポートされていないmajor.minorバージョン52。
は、build.gradle
、buildToolsVersion 24
内で宣言されている場合に発生します。このバージョンに必要なJava 8がインストールされていない場合、 です。この問題を解決するには、buildToolsVersion
を24から最大23に変更する必要があります。
将来、Android Studio
にはJava 8が必要になるはずです。そこで、Java 8を使い始める必要があります。
IntelliJ Mavenのビルドにも同じ問題がありました。私の "解決策"は、ビルドツールに入り、ビルドツールの24.0.0フォルダを削除することでした。 {Android-sdk-location}/build-tools/
ディレクトリで見つけました。これは長期的な修正ではありませんが、少なくともこれでプロジェクトが再構築されるはずです。多くの人が示唆しているようにJava 8にアップグレードすることは、より長期的になるでしょう。
ここで誰も言っていないのは、Build Tools 24.0.0では、Java 8が必要で、ほとんどの人が1.6か1.7のどちらかを持っているということです。
そのため、ビルドツールを23.x.xに設定すると問題は解決しますが、根本的な原因はシステムのJavaバージョンです。
長期的には、JDK 8を使用して新しい言語の機能強化とジャック・コンパイラーを使用するように開発環境をアップグレードすることをお勧めします。
52 はJDK 8のコードです。これは次のとおりです。 http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html 。そのため、GradleはあなたのマシンのデフォルトのJavaバージョンとしてJDK 8があることを期待しています。 Android用Gradleの最新バージョンはJava 7では動作しません。
解決策は簡単です。Java8をあなたのマシンのデフォルトのJDKバージョンにします。
私はAndroid Studio 2.0にいて同じ問題に直面しています。 Rudy Kurniawanが提供した解決策は、この問題を解決しました。影響を受けるファイルは、次の場所にあります。
"プロジェクト" - > "Android" - > "Gradle Scripts" - > "build.gradle(Module:app)"
左側の " Project "ペインはデフォルトです。それを見つけるには、サイドタブの名前を調べ、それをクリックして、上のプルダウンボックスを使って " Android "に移動します。ペイン内のツリーを展開してターゲットファイルを見つけます。ダブルクリックして編集します。
返信が遅くなり申し訳ありません。
この問題はJDKではなくSDKに関連しています。あなたはからあなたのバージョン情報をチェックすることができます
ヘルプ>情報>詳細の表示
あなたはのようなものになるでしょう
Xamarin.Androidバージョン:6.0.2.1(初版)Android SDK:X:\ Android\android-sdk
サポートされているAndroidのバージョン:
4.0.3(APIレベル15)
4.4(APIレベル19)
6.0(APIレベル23)
SDKツールのバージョン:24.4.1
SDKプラットフォームツールバージョン:23.0.1
SDKビルドツールバージョン:24 rc2
Java SDK:X:¥Program Files(x86)¥Java¥jdk1.7.0_71
Javaバージョン "1.7.0_71"
Java(TM)SEランタイム環境(ビルド1.7.0_71-b14)
Java HotSpot(TM)クライアントVM(ビルド24.71-b01、混在モード、共有)
あなたが構築のためにプレビューツールを使っているならば、あなたは至るところで同様のエラーを得るでしょう。
今何をする?
後藤
ツール - > SDKマネージャ
Android SDK build tools
with rev 24rc2
または24rc4
(最新)を含むプレビューチャンネルですべてのアイテムを選択
Delete 'n' packages
をクリック
プレビューチャンネルをオフにする方法
SDKマネージャで、
ツール>オプション
Enable preview tools
のチェックを外します
そして何
あなたのコードに戻る すべて消去 および 再構築 (まれに、プロジェクト設定ページからbuild-toolsを選択する必要がある)
私はEclipseで新しいプロジェクトを作るときにもこの問題に直面しました。
修正する
Dosgi.requiredJavaVersion=1.6
に
Dosgi.requiredJavaVersion=1.7
お役に立てれば
私の場合、デフォルトのjdkは1.7でしたが、更新されたjdkがある正確なフォルダを参照して1.8に変更しました。
Travis buildサーバーでこのエラーメッセージを入手しますか?
私は travis buildToolsVersionでビルドしました "24.0.2" これを使って修正しました
# travis build
language: Android
jdk:
- oraclejdk8
Android:
components:
- tools
- build-tools-24.0.2
- Android-23
- add-on
- extra
script:
- jdk_switcher use oraclejdk8
- ./gradlew assemble
解決してくれてありがとう。
私は以下の解決策を使用して私の同じ問題を解決することができました。
私のプロジェクトでは、Java 8で作成されたjarを追加しました。そして私のプロジェクトはJRE 7を参照していました。私がプロジェクトJREを8に変更したとき私の問題は解決しました。
ステップ:Eclipseで、プロジェクトエクスプローラでプロジェクト名を右クリック>ビルドパス>ライブラリ> jreバージョンをクリック>編集>インストールJRE>追加> standerd VM> JREホームクリックパスを選択(パスはlocalePathにする必要があります)\Java\jdk1.8.0_25\jre)>名前を指定する>保存>プロジェクトに同じJREを選択する>終了> ok一度プロジェクトを更新/ビルド> Javaファイルを実行してみます。それはうまくいくはずです。
Androidビルドツールが正しくインストールされていません。他のバージョンのビルドツールをインストールして、そのバージョンをgradleファイルに指定してください。またはあなたはこのディレクトリに行くことができます
C:\ Users \\ AppData\Local\Android\sdk\build-tools
そしてどのビルドツールがインストールされているかを確認します。 gradleファイルでビルドツールのバージョンを変更して、アプリがコンパイルされて機能しているかどうかを確認してください。
私はビルドツールの22.0.1、23.0.02と24.0.0のバージョンを持っていて、古い22.0.1のバージョンだけが動作しました。
出典:私は自分で試してみましたが、それは私にとって役に立ちました。
この問題は、ビルドツールのバージョンとJDKが一緒に動作しないという事実から生じます。ビルドツール24.0.1でJDKバージョン7を使用していました。もちろん、ビルドツールのバージョンを下げても問題は解決するかもしれませんが、将来的にビルドツールをアップグレードしても問題が解決しないため、実際には解決しません。
ビルドツールのバージョンとJDKが確実に連携するようにしてください。私は自分のビルドツールを最新(24.0.1)にアップグレードしてjdk8をインストールしました。必ずJava_HOMEを最新に設定してから、クリーンビルドを試してください。
私は同じ問題を抱えていてバージョンを変更しようとしました、時々プロジェクト> Gradle Scripts> build.gradle(Module:app)でAndroid Studioのバージョンのためにあなたはバージョンを変更することができます。例えば:
Android {
compileSdkVersion **23**
buildToolsVersion **"23.0.3"**
defaultConfig {
applicationId "com.example.Android.myapplication"
minSdkVersion **19**
targetSdkVersion **23**
versionCode **1**
versionName **"1.0"**
}
コマンドラインからsdkを使用してCordova用にビルドしようとすると、Android Studio以外で同じ問題が発生します(cordova build Android)。
この場合も、Rudyが提供する解決策は有効です。あなただけのAndroid Studioからビルドツールのバージョンをダウングレードしませんが、あなたはAndroidのSDKマネージャのUIを使用してそれを行います。
これ 質問から。
使用しているIDEで、コンパイラレベルを1.7に戻すことができます。
Android Studioを使用している場合は、これをbuild.gradleに追加できます。
Android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
これで解決しない場合は、上記のリンクで他の人の答えをチェックして、何があなたを助けたのか私たちに知らせてください。
最も簡単な解決策は、JDKを最新のバージョンに更新する必要があることです。 Cordovaは最新のJDKのみをサポートしているからです。
1 。 まず第一にあなたはあなたのAndroid SDKを更新する必要があります。その後、
2. あなたの端末からアップデートできない場合は、Linux destroの Software center に移動して最新の(インストールしたいもの)を検索してインストール1 。
それからもう一度 Cordova build を実行してください。
それは問題を解決します。
で、私の場合はうまくいきました。
unsupported-major-minor-versionエラーは、サポートされていないJDKバージョンが原因である可能性があります。 JDKを更新し、モジュール設定に進み、JDKパスを新しいものに変更します。ほとんどの場合、それはエラーを修正します。
私はちょうどこの問題に遭遇しました。
"プレビューチャンネル"バージョンのSDKツールとビルドツールを最新の安定版に戻すことで修正されました。
com.Android.tools.build:gradle:2.2.0-beta1
をcom.Android.tools.build:gradle:2.1.2
に変更して修正しました。
私のAndroid Studioのバージョンは2.1.2です、おそらくそれが理由です
私はあまりにも長い間この問題を抱えていたし(SOなどは助けにはならなかった)、ただそれを解決しただけだった(sdk 25を使って)。
- local.propertiesファイルproguard.dir varがantに適用されていませんでした。 5.3.2を指定しましたが、sdkディレクトリのコマンドライン呼び出しと署名付きエクスポートビルド(Eclipse)では4.7が使用されていました(Java 8をサポートするのは5つだけです)。
私の解決策は、sdkのproguard jarファイル(Android-sdk/tools/proguard/libsディレクトリ)を現在の(5+)バージョンのproguardに置き換えることでした。
最新バージョンのSDKがC:\Program Files\Java
またはC:\Program Files (x86)\Java
にインストールされていることを確認してください。
次にVS2015に行き、パスツール - オプション - Xamarin - Androidの設定に従ってください、そしてJDKの場所のセクションで変更を選択して、あなたがx64かx32のどちらかを持っているバージョンを探すために行ってください。
私はコルドバにいます、これが私がしたことです:
- Androidプロジェクトの名前を変更して、新しいプロジェクト用のスペースができるようにします。
- Java Development Kitを1.8に更新します(これを書いている時点で最新のもの)。
- cordova platform add Android
を実行
今問題なく動作するはずです。あなたのアプリのハッシュは変わるでしょう。 facbeookログインの場合は、更新する必要があります