web-dev-qa-db-ja.com

私のアプリではサポートされていないmajor.minorバージョン52.0

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

誰かが私をこれで手伝ってくれる?

127
Rafael Reyes

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にアップグレードしたくない場合にのみ実行してください。

お役に立てれば

237
Rudy Kurniawan

Gradle Scripts >> build.gradle(モジュールアプリ)

buildToolsVersion "24.0.0" - buildToolsVersion "23.0.3"に変更します

出典:経験

43

Rudy Kurniawanの答えで指定されているように、最初はbuildToolsVersion24.0.0 rc3から23.0.3に格下げしました。それから、プロジェクト設定でjdk 7が指定されていることに気付きました。私はそれをjdk 8に変更し、今度は24.0.0 rc3作業ツールを構築します。

enter image description here

コンパイルオプションをJava7に設定することも重要です。

Android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}
31
Denis Kniazhev

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の場所 を変更する必要があります。

Change JDK location

これはVisual Studioで[ツール]> [オプション]> [Xamarin]> [Android設定]をクリックして行います。ここであなたは正しい場所にナビゲートすることができます。私の場合はC:\Program Files (x86)\Java\jdk1.8.0_101でした。

最後に、プロジェクトをきれいにして新しいビルドを作ります:-)

14
testing

指定された問題

スレッド "main"での例外Java.lang.UnsupportedClassVersionError:com/Android/dx/command/Main:サポートされていないmajor.minorバージョン52。

は、build.gradlebuildToolsVersion 24内で宣言されている場合に発生します。このバージョンに必要なJava 8がインストールされていない場合、 です。この問題を解決するには、buildToolsVersionを24から最大23に変更する必要があります。

enter image description here

将来、Android StudioにはJava 8が必要になるはずです。そこで、Java 8を使い始める必要があります。

8
Elenasys

IntelliJ Mavenのビルドにも同じ問題がありました。私の "解決策"は、ビルドツールに入り、ビルドツールの24.0.0フォルダを削除することでした。 {Android-sdk-location}/build-tools/ディレクトリで見つけました。これは長期的な修正ではありませんが、少なくともこれでプロジェクトが再構築されるはずです。多くの人が示唆しているようにJava 8にアップグレードすることは、より長期的になるでしょう。

6
sotrh

ここで誰も言っていないのは、Build Tools 24.0.0では、Java 8が必要で、ほとんどの人が1.6か1.7のどちらかを持っているということです。

そのため、ビルドツールを23.x.xに設定すると問題は解決しますが、根本的な原因はシステムのJavaバージョンです。

長期的には、JDK 8を使用して新しい言語の機能強化とジャック・コンパイラーを使用するように開発環境をアップグレードすることをお勧めします。

5
Jay Sidri

52 はJDK 8のコードです。これは次のとおりです。 http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html 。そのため、GradleはあなたのマシンのデフォルトのJavaバージョンとしてJDK 8があることを期待しています。 Android用Gradleの最新バージョンはJava 7では動作しません。

解決策は簡単です。Java8をあなたのマシンのデフォルトのJDKバージョンにします。

5
IgorGanapolsky

私はAndroid Studio 2.0にいて同じ問題に直面しています。 Rudy Kurniawanが提供した解決策は、この問題を解決しました。影響を受けるファイルは、次の場所にあります。

"プロジェクト" - > "Android" - > "Gradle Scripts" - > "build.gradle(Module:app)"

左側の " Project "ペインはデフォルトです。それを見つけるには、サイドタブの名前を調べ、それをクリックして、上のプルダウンボックスを使って " Android "に移動します。ペイン内のツリーを展開してターゲットファイルを見つけます。ダブルクリックして編集します。

4
coarist

返信が遅くなり申し訳ありません。

この問題は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マネージャ

  1. Android SDK build tools with rev 24rc2または24rc4(最新)を含むプレビューチャンネルですべてのアイテムを選択

  2. Delete 'n' packagesをクリック

プレビューチャンネルをオフにする方法

  1. SDKマネージャで、

    ツール>オプション

  2. Enable preview toolsのチェックを外します

そして何

あなたのコードに戻る すべて消去 および 再構築 (まれに、プロジェクト設定ページからbuild-toolsを選択する必要がある)

4
Habel Philip

私はEclipseで新しいプロジェクトを作るときにもこの問題に直面しました。

  1. Eclipseのインストールディレクトリを開きます。
  2. Eclipse.iniファイルを開く
  3. 修正する

    Dosgi.requiredJavaVersion=1.6 
    

    Dosgi.requiredJavaVersion=1.7
    

お役に立てれば

4
user6661437

私の場合、デフォルトのjdkは1.7でしたが、更新されたjdkがある正確なフォルダを参照して1.8に変更しました。

3
Hedego

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
2
k3b

解決してくれてありがとう。

私は以下の解決策を使用して私の同じ問題を解決することができました。

私のプロジェクトでは、Java 8で作成されたjarを追加しました。そして私のプロジェクトはJRE 7を参照していました。私がプロジェクトJREを8に変更したとき私の問題は解決しました。

ステップ:Eclipseで、プロジェクトエクスプローラでプロジェクト名を右クリック>ビルドパス>ライブラリ> jreバージョンをクリック>編集>インストールJRE>追加> standerd VM> JREホームクリックパスを選択(パスはlocalePathにする必要があります)\Java\jdk1.8.0_25\jre)>名前を指定する>保存>プロジェクトに同じJREを選択する>終了> ok一度プロジェクトを更新/ビルド> Javaファイルを実行してみます。それはうまくいくはずです。

2
haithem

Androidビルドツールが正しくインストールされていません。他のバージョンのビルドツールをインストールして、そのバージョンをgradleファイルに指定してください。またはあなたはこのディレクトリに行くことができます

C:\ Users \\ AppData\Local\Android\sdk\build-tools

そしてどのビルドツールがインストールされているかを確認します。 gradleファイルでビルドツールのバージョンを変更して、アプリがコンパイルされて機能しているかどうかを確認してください。

私はビルドツールの22.0.1、23.0.02と24.0.0のバージョンを持っていて、古い22.0.1のバージョンだけが動作しました。

出典:私は自分で試してみましたが、それは私にとって役に立ちました。

1
Swathin

この問題は、ビルドツールのバージョンとJDKが一緒に動作しないという事実から生じます。ビルドツール24.0.1でJDKバージョン7を使用していました。もちろん、ビルドツールのバージョンを下げても問題は解決するかもしれませんが、将来的にビルドツールをアップグレードしても問題が解決しないため、実際には解決しません。

ビルドツールのバージョンとJDKが確実に連携するようにしてください。私は自分のビルドツールを最新(24.0.1)にアップグレードしてjdk8をインストールしました。必ずJava_HOMEを最新に設定してから、クリーンビルドを試してください。

1
GodOnScooter

私は同じ問題を抱えていてバージョンを変更しようとしました、時々プロジェクト> 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"**
    }
1
Gladys Sanchez

コマンドラインからsdkを使用してCordova用にビルドしようとすると、Android Studio以外で同じ問題が発生します(cordova build Android)。

この場合も、Rudyが提供する解決策は有効です。あなただけのAndroid Studioからビルドツールのバージョンをダウングレードしませんが、あなたはAndroidのSDKマネージャのUIを使用してそれを行います。

1
Andrea Gherardi

これ 質問から。

使用しているIDEで、コンパイラレベルを1.7に戻すことができます。

  • Eclipseを使用している場合は、Windows ---> Prefencesに移動し、次にJavaを選択して展開してからCompilerを選択し、準拠レベルを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
        }
    }
    

これで解決しない場合は、上記のリンクで他の人の答えをチェックして、何があなたを助けたのか私たちに知らせてください。

1
cristianorbs

最も簡単な解決策は、JDKを最新のバージョンに更新する必要があることです。 Cordovaは最新のJDKのみをサポートしているからです。

1 まず第一にあなたはあなたのAndroid SDKを更新する必要があります。その後、

2. あなたの端末からアップデートできない場合は、Linux destroの Software center に移動して最新の(インストールしたいもの)を検索してインストール1 。

それからもう一度 Cordova build を実行してください。

それは問題を解決します。

で、私の場合はうまくいきました。

0
PyDevSRS

unsupported-major-minor-versionエラーは、サポートされていないJDKバージョンが原因である可能性があります。 JDKを更新し、モジュール設定に進み、JDKパスを新しいものに変更します。ほとんどの場合、それはエラーを修正します。

0
Rachit Murarka

SDKのインストールディレクトリに移動し、 /build-tools サブディレクトリがアプリケーションのbuild.gradleファイルのbuildToolsVersionと一致することを確認する必要があります。 enter image description here

0
IgorGanapolsky

私はちょうどこの問題に遭遇しました。

"プレビューチャンネル"バージョンのSDKツールとビルドツールを最新の安定版に戻すことで修正されました。

0
Mike Playle

com.Android.tools.build:gradle:2.2.0-beta1com.Android.tools.build:gradle:2.1.2に変更して修正しました。

私のAndroid Studioのバージョンは2.1.2です、おそらくそれが理由です

0
ericn

私はあまりにも長い間この問題を抱えていたし(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に置き換えることでした。

0
rndStr

最新バージョンのSDKがC:\Program Files\JavaまたはC:\Program Files (x86)\Javaにインストールされていることを確認してください。

次にVS2015に行き、パスツール - オプション - Xamarin - Androidの設定に従ってください、そしてJDKの場所のセクションで変更を選択して、あなたがx64かx32のどちらかを持っているバージョンを探すために行ってください。

0
genomma

私はコルドバにいます、これが私がしたことです:

- Androidプロジェクトの名前を変更して、新しいプロジェクト用のスペースができるようにします。
- Java Development Kitを1.8に更新します(これを書いている時点で最新のもの)。
- cordova platform add Androidを実行

今問題なく動作するはずです。あなたのアプリのハッシュは変わるでしょう。 facbeookログインの場合は、更新する必要があります

0
mate.gwozdz