Android Error:Execution failed for task ':app:compileDebugJavaWithJavac' Solution
最近、私のAndroidプロジェクトで例外が発生し、問題の根源を見つけるのに時間がかかりました。
Google、Baiduの検索は、コンテンツの最初の2ページを閲覧し、いくつかのオプションをまとめました。
1. buildToolsVersionを最新バージョンにアップグレード・更新する。
2、Android Studio 2.2.2バージョン、JDK 1.8バージョンへのアップグレード
3, JAVA_HOME パスの設定
アンドロイド {
<未定義
コンパイルSdkバージョン 24
buildToolsVersion "24.0.2"
デフォルトコンフィグ
<未定義
applicationId "com.mycompany.appname"
minSdkVersion 17
targetSdkVersion 24
バージョンコード 1
バージョン名 "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ジャックオプション {
<未定義
有効 真
}
buildTypes {
<未定義
リリース
<未定義
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
コンパイルオプション {
<未定義
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.
}
}
しかし、上記の解決策では、例外Error:Execution failed for task ':app:compileDebugJavaWithJavac' を解決することはできません。
あるブログで次の段落を偶然見つけるまでは。
一見、私が抱えている問題とは関係なさそうでしたが、今となっては何の手がかりもないので、死に物狂いで試しています
案の定、奇跡は起きなかったが、エラーメッセージをよく見てみると
ルートプロジェクトでタスク 'compileDebug' があいまいである。
これを分析すると、ambiguousは曖昧という意味で、その後ろのcompileDebugXXXXの文字列を見て、だから閃いたのです
gradlew compileDebug --stacktrace のコマンドを gradlew compileDebugJavaWithJavac に変更します。
奇跡を見るときが来た
Android Realmデータベースを使用する際に、不正なデータ型に@PrimaryKeyアノテーションを追加したことによる例外であることが判明しました。
PrimaryKeyアノテーションの説明
フィールドは String, integer, byte, short, int, long およびそれらのラッパーの Byte, Short, Integer, Long でなければならない。
このアノテーションを使用した後、copyToRealmOrUpdate()メソッドを使用して、主キーでそのオブジェクトを照会し、照会された場合は更新し、それ以外の場合は新しいオブジェクトを作成して置き換えることができます。
このアノテーションを使用すると、デフォルトで@indexアノテーションが設定されます。
このアノテーションを使用すると、データの作成と更新が遅くなり、データのクエリーが速くなります。
必須
データをNULLにすることはできません
無視
無視する、つまりフィールドをローカルに保存しない
インデックス
このフィールドに検索エンジンを追加すると、データの挿入が遅くなり、データも大きくなりますが、クエリーは高速になります。読み込みのパフォーマンスを最適化する必要がある場合に使用することをお勧めします。
Android Studioでは同じ例外が報告されても、その根本原因は人それぞれであり、解決方法より
関連
-
AndroidStudioのエラーAAPT2エラーの解決:詳細のログを確認する
-
シンボル 'AppCompatActivity' の解決策を解決できない
-
android studio3.2 a pitfall: リソースの処理に失敗しました。詳細は上記の aapt の出力を参照してください。
-
警告: 構成 'compile' は廃止され、'implementation' と 'api' に置き換わりました。
-
Android フロントカメラのビデオ録画に失敗しました (MediaRecorder: start failed: -19)
-
オーディオとビデオを再生するための資産と生でAndroidの練習
-
Androidのビューの描画処理を完全に説明し、ビュー(II)を理解するために、ステップバイステップであなたを取る
-
Android マルチメディア MediaPlayerの使用方法詳細
-
Androidの模倣QQのログインインターフェイスの例、ログインと登録機能を実現するために。
-
React Native エラー。アプリケーション XXX は登録されていません ソリューション
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ERROR: x86 エミュレーションには現在ハードウェアアクセラレーションが必要です。
-
障害発生 [INSTALL_FAILED_OLDER_SDK] 解決方法
-
Solve アクティビティのメソッドを実行できませんでした
-
パッケージが見つからないエラー 解決策と jdk の切り替え
-
Androidのボトムナビゲーションバー、3つのスタイルとインプリメンテーション
-
Androidにおける縦の点線
-
Android Studioのインポートプロジェクトが表示されます。ファイルをクランチするのに失敗しました
-
自作のシンプルなアンドロイド用メモ帳アプリ
-
android start activity report android.content.res.Resources$NotFoundException: 文字列リソースID #0x0
-
Android AVDで "このターゲットにはシステムイメージがインストールされていません "と表示される