Android StudioでGradleの問題をデバッグしていますが、「gradle syncを実行」への参照が表示されますが、このコマンドの実行方法がわかりません。
AndroidスタジオまたはMac端末から「Gradle sync」を実行するにはどうすればよいですか?
./gradlew --recompile-scripts
何も構築せずに同期を行います。
または、ルートプロジェクトのコマンドラインで
./gradlew build
アプリを同期してビルドし、Gradle同期よりも時間がかかります
使用可能なすべてのgradleタスクを表示するには、./gradlew tasks
を使用します
Android Studio3.3にあります:
答えによると https://stackoverflow.com/a/49576954/291414 in Android Studio3.1 ここにあるよ:
このコマンドはFile > Sync Project with Gradle Files
に移動しました。
キーボードショートカット愛好家は、ファイル->設定->キーマップ->プラグイン-> Androidサポート->プロジェクトをgradleファイルと同期する(キーボードを追加するには右クリックして)で、手動でgradle同期を実行するためのショートカットを追加できますショートカット)->適用-> OKで完了です。 他のショートカットキーと競合しない便利なキーをgradle同期ショートカットとして選択します(私はgradle同期キーとしてShift + 5を選択しています)。次に、手動でgradle同期を実行する場合は、このキーボードショートカットキーを押します。
Android Studioのメインメニューから[ツール]> Android> "Gradleファイルとプロジェクトを同期"を参照していると思います。
gradle --recompile-scripts
何も構築せずに同期を行うようです。自動構築を有効にするには
gradle --recompile-scripts --continuous
詳細については、ドキュメントを参照してください。
https://docs.gradle.org/current/userguide/gradle_command_line.html
ショートカット(Ubuntu、Windows):
Ctrl + F5
プロジェクトをGradleファイルと同期します。
./gradlew tasks
はAndroid studio sync
と同じだと思います。どうして?説明します。
Jacocoカバレッジレポートをテストすると問題が発生します。コマンドラインで./gradlew clean :Test:testDebugUnitTest
を直接実行すると、エラーが表示されます。
Error opening Zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
ただし、最初にAndroid studio syncをクリックすると、正常に実行されます。 build/../jacocoagent.jar
は自然に表示されるためです。なぜか、jacocoプラグインにバグがあるかもしれません。 .gradlew tasks
を実行すると、jarも表示されます。したがって、グラルドスクリプトでも同じ結果を得ることができます。
また、gradle --recompile-scripts
は問題に対して機能しません。