Android StudioでGradleの問題をデバッグしていて、「gradle syncの実行」への参照が表示されていますが、このコマンドの実行方法がわかりません。
AndroidスタジオまたはMac端末から「Gradle sync」を実行するにはどうすればよいですか?
Android StudioでGradleの問題をデバッグしていて、「gradle syncの実行」への参照が表示されていますが、このコマンドの実行方法がわかりません。
AndroidスタジオまたはMac端末から「Gradle sync」を実行するにはどうすればよいですか?
回答:
警告:--recompile-scripts
コマンドは、gradle
バージョン5.0 以降廃止されました。gradle
バージョンを確認するには、を実行しgradle -v
ます。
./gradlew --recompile-scripts
何も構築せずに同期を行います。
または、ルートプロジェクトでコマンドラインを使用する
./gradlew build
アプリを同期してビルドします。Gradleの同期よりも時間がかかります
使用可能なすべてのgradleタスクを表示するには、次を使用します ./gradlew tasks
Android Studio 3.3では、次のとおりです。
Android Studio 3.1の回答https://stackoverflow.com/a/49576954/2914140によると、それはここにあります:
このコマンドはに移動しましたFile > Sync Project with Gradle Files
。
キーボードショートカットの愛好家は、[ファイル]-> [設定]-> [キーマップ]-> [プラグイン]-> [Androidサポート]-> [プロジェクトをGradleファイルと同期](キーボードショートカットを追加するには右クリック)-> [適用]に移動して、手動でGradle同期を実行するためのショートカットを追加できます。 > OK、これで完了です。他のショートカットキーと競合しない便利なキーをGradle同期ショートカットとして選択します(私はGradle同期キーとしてShift + 5を選択しました)。次に、手動でGradle同期を実行する場合は、このキーボードショートカットキーを押してください。
Android Studioのメインメニューから[Tools]> [Android]> [Sync Project with Gradle Files]を参照していると思います。
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ファイルも表示します。だから私はgraldeスクリプトで同じ結果を得ることができます。
その上、gradle --recompile-scripts
問題のために働きません。
gradlewのクリーンがADTビルドのクリーンと等しくないことを証明できるかもしれません。そして今、私はそれを修正するのに苦労しています。
ここに私が得たものがあります:私はgradle.propertiesからconfigProductID = 11111を設定し、私のbuild.gradleから、私は追加します
resValue "string", "ProductID", configProductID
ADTからクリーンなビルドを行うと、リソースR.string.ProductIDを生成できます。そうすれば、次のコマンドを正常に実行できます。
gradlew assembleDebug
しかし、ビルドサーバーをセットアップしようとしているので、ADT IDEのヘルプは必要ないので、ADTビルドクリーンを使用しないようにする必要があります。これが私の問題です。次に、リソース名を「ProductID」から「myProductID」に変更します。
gradlew clean
エラーが出る
PS D:\work\wctposdemo> .\gradlew.bat clean
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\work\wctposdemo\app\build.gradle'
* What went wrong:
Could not compile build file 'D:\work\wctposdemo\app\build.gradle'.
> startup failed:
General error during semantic analysis: Unsupported class file major version 57
私が試してみると:
.\gradlew.bat --recompile-scripts
私はただエラーが出ます
Unknown command-line option '--recompile-scripts'.
コマンドラインを使用してプロジェクトをGradleファイルと同期したい場合は、注意してください:
Gradle 5.0以降、
--recompile-scriptsコマンドラインオプションは削除されました。
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425