java - エラー - see the compiler error output for details




Android Studioのタスク:app:compileDebugJavaWithJavacの実行に失敗しました (18)

アップデート(2017年6月5日)

Realm for Android を使用したかったため 、 Retrolambda が必要 でした 。 問題は、レトロラムダがジャックと競合することです。

そこで、以下の元の回答に示されている私のgradleからJackオプション設定を削除し、次の変更を行いました。

// ---------------------------------------------
// Project build.gradle file
// ---------------------------------------------
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'me.tatarka:gradle-retrolambda:3.6.1'
        classpath "io.realm:realm-gradle-plugin:3.1.4"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

そして

// ---------------------------------------------
// Module build.gradle file
// ---------------------------------------------
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'realm-android'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    ...

Tools.jar

上記の変更を行っても、次のエラーが表示される場合:

Execution failed for task ':app:compileDebugJavaWithJavac'.
com.sun.tools.javac.util.Context.put(Ljava/lang/Class;Ljava/lang/Object;)V

次のファイルを削除してみてください。

/Library/Java/Extensions/tools.jar 

次に:

  1. エミュレータを終了する
  2. Android Studioを終了します
  3. Android Studioを再度開きます
  4. ビルド>プロジェクトのクリーン
  5. デバイス/エミュレーターでアプリを再度実行/デバッグします

すべての変更が私のためにそれを修正しました。

注意:

tools.jarが何をするのか、それが重要かどうかはわかりません。 このStackoverflow質問の他の用途と同様:

OSXヨセミテでJavaプロジェクトをビルドできません

AUSKey(オーストラリアのビジネスポータルWebサイトにログインする前にコンピューターを認証するためにオーストラリア政府が使用する古代の恐竜Java認証キーシステム)を使用しなければならないほど残念でした。

私の推測は tools.jar 、AUSKey向けのJARファイルである可能性があります。

心配な場合は、このファイルを削除する代わりに、Australian Business Portalに再度ログインできない場合に備えて、フォルダ全体のバックアップを作成し、どこかに保存できます。

役立つことを願っています:D

元の回答

今日(2016年6月27日)この問題に出会いました。

Android Studio 2.2をダウンロードし、JDKを1.8に更新しました。

正しいJDKパスを指すという上記の回答に加えて、 build.gradle(Module: app) ファイルで JDKバージョンを追加で指定する必要がありました 。

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

結果のファイルは次のようになります。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"
    defaultConfig {
        applicationId "com.mycompany.appname"
        minSdkVersion 17
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        jackOptions {
            enabled true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}

についてのエラーに遭遇した場合にも注意してください Java 8 language features requires Jack enabled (上記のように)、gradleファイルに以下を追加する必要があります:

jackOptions {
    enabled true
}

それを終えて、ついに私の新しいプロジェクトアプリを携帯電話で実行するようになりました。

Android StudioでAndroidアプリを開発しています。 何が間違っていたのかはよくわかりません。 私は数日前に正常に構築していました。 どんな助けも素晴らしいでしょう。

エラーは次のとおりです。

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

ここに私のbuild.gradleがあります

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "21.1.2"

defaultConfig {
    multiDexEnabled true
    applicationId "com.tubbs.citychurchob"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'),        'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:cardview-v7:23.1.0'
compile 'com.parse.bolts:bolts-android:1+'
compile 'com.android.support:recyclerview-v7:23.1.0'
}

上記の @yuchaozhの 回答を 補完するだけで、 解決に役立ちました。 (コメントする担当者がいません)

これを実行して、使用しているJavaバージョンを確認します

ls /Library/Java/JavaVirtualMachines/

次のような出力が得られます。

jdk1.8.0_111.jdk

Javaバージョンに置き換え、このコマンドを実行して正しいパスをエクスポートします。

export JAVA_HOME="/Library/Java/JavaVirtualMachines/<YOUR_JAVA_VERSION>/Contents/Home"

Androidスタジオをバージョン2.2.2にアップグレードした後、この問題に直面しましたが、推奨されるように組み込みJDKを使用して解決しました:


build.gradleファイルで何かを変更すると、すべてが再び再同期され、エラーがなくなります。私にとっては、minSdkVersionを変更しました。 システムがクラッシュした場合やAndroid Studioが適切にシャットダウンされなかった場合でも、これが発生する可能性があることを心配しないでください。


この問題は 解決しました

私はこのプロジェクト「Waveform Android」をコンパイルしようとしました-https https://github.com/Semantive/waveform-android

このエラーが発生しました。

Ubuntu 14.04LTSでAndroidスタジオを使用しています。

JAVA 8がインストールされています。

私のgradleビルドスクリプトファイルには、次のようなステートメントがいくつかありました。

retrolambda {
    jdk System.getenv("JAVA8_HOME")
    oldJdk System.getenv("JAVA7_HOME")
    javaVersion JavaVersion.VERSION_1_7
}

「JAVA8_HOME」を「JAVA_HOME」 に変更しました これは、環境変数でjavaホームディレクトリがJAVA8_HOMEではなくJAVA_HOMEとして設定され、正常にビルドされたためです。

ビルドスクリプトを変更した後。

retrolambda {
    jdk System.getenv("JAVA_HOME")
    oldJdk System.getenv("JAVA7_HOME")
    javaVersion JavaVersion.VERSION_1_7
}

または、 正しいJDKの場所を指す JAVA8_HOME という名前の新しい環境変数を作成できますが、 JDKのバージョンごとに環境変数が必要ではないので、試しませんでした。


これと同じ問題がありました。 私はMacを使用している開発者のチームと仕事をしており、チームの他の全員がWindowsを実行していました。 ただし、jdk 1.8でAnroid Studio 2.2-betaを使用していました。 Macを使用しているときにこの問題に遭遇した場合は、次の方法で解決できます。 Android Studio 2.2-betaを使用しないでください。 2.2-betaでこのエラーをデバッグするのに何時間も費やしました。 Android Studio 2.1.3に変更するだけで解決しました 。 Android Studioのバージョンを変更すると、すぐにアプリが実行されました。 また、ダウンロードする前にAndroid StudioのWebサイトで、2.2ベータでjdk 1.8を実行することについてMacユーザーに警告します。 私は細かい活字を読むべきだったと思う


これは私のために働く

compileSdkVersion 25
buildToolsVersion '25.0.0'

これらの設定を使用すると、正常に機能します。

android {
     compileSdkVersion 26
     buildToolsVersion '26.0.2'

  defaultConfig {
    applicationId "com.pm.motivator"
    minSdkVersion 15
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
 }
}

ビルドファイルの変更に ファイル( 'AF-のAndroid-SDK.jar')コンパイル する ファイルをコンパイルする( 'LIBS / AF-アンドロイド-SDK.jar') それが動作します


プロジェクト設定でJDKの場所を設定する


上記のすべてが機能しない場合は、 .gradle グローバルフォルダー からキャッシュを削除してみて ください。

以下を試してください

rm -rf ~/.gradle/caches

react-native run-android

うまくいかなかった場合、以下は私にとって完璧に働いた

rm -rf ~/.gradle

react-native run-android


同じエラーが発生しました。 正しいバージョンのJDKを指すJAVA_HOME。 すべてのサポートライブラリとビルドツールが更新されました。 まだ同じ問題に直面していました。

プロジェクトでAndroidアノテーションを使用しています。 新しいView ..を追加しましたが、Javaファイルに同じ名前の既存のビューが既に存在していました。 プロジェクトを実行すると、ビューが既に存在することを示すのではなく、上記のエラーを受け取りました。

他のソリューションが機能しない場合は、javaファイルのエラーを確認してください。


最初のステップ:

第2ステップ:

私は両方のANSを試しますが、何も動作しません。 私はここで解決策です。

あなたのプロジェクトから

Gradle Scripts >> build.gradle(Module:app)に移動し、以下のコードを削除します(存在する場合)

.............................................

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_6
}

.............................................

それを削除してからプロジェクトをクリーンにしてから実行します。 Javaホームを設定する必要はなく、バージョンを変更する必要もありません


私の場合、バターナイフを更新しても問題は解決しませんでした

from: "com.jakewharton:butterknife:8.4.0" to: "com.jakewharton:butterknife:8.8.1"

Adapterクラス内で@BindViewを試みましたが、成功しませんでした。 .findViewById(R.id.message_time)を使用するとすぐに、コンパイルが正常に完了しました。


私は同様の問題に直面しましたが、プログラムファイルのjdkフォルダを手動で設定する必要がありましたので、埋め込みを使用して、Android 8のプロジェクト設定を直接指すように、Java 8にアップグレードするすべての人に特別にお勧めしますオプションまたはフォルダーの選択


Android Studio 3.1では、ビルドウィンドウでエラーの詳細を確認できます。

[ビルド]タブを開きます。 それらはいくぶん隠されています。Javaコンパイラノードを展開する必要があります。 エラーが表示されます。

しかし、エラーを確認するより良い方法があります。 [Toggle View]ボタンをクリックして、エラーをよりよく見ることができます。 そうすれば、各ノードを展開する必要はありません。


これは、$ JAVA_HOMEが設定されていないためです。 Macを使用している場合:

.bash_profileの export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home"export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home"


次のように、 buildToolsVersion を「23.0.1」にアップグレードしてください。

compileSdkVersion 23
buildToolsVersion "23.0.1"

このバージョンのbuildToolsをインストールしていない場合は、SDKManagerを使用してヒントとしてダウンロードしてください。





gradle