日々精進

新しく学んだことを書き留めていきます

gradle

gradle-node-pluginをbuild.gradleに追加してbuildすると「Could not resolve com.moowork.gradle:gradle-node-plugin:0.11.」エラー

以下のようなエラーメッセージが表示される。 > Could not resolve com.moowork.gradle:gradle-node-plugin:0.11. > Could not get resource 'https://repo1.maven.org/maven2/com/moowork/gradle/gradle-node-plugin/0.11/gradle-node-plugin-0.11.pom'. > …

アプリアイコンにGitのブランチ名、コミットハッシュ値などを表示する

以下のgradle pluginを使う。 splatte/gradle-android-appiconoverlay インストール手順は上記ページのUsageを参考にすればいいが、いくつか注意点が。 なお、確認した環境は以下。 OS X 10.9.5 gradle 2.2.1 以下注意点。 ImageMagickの他にGhostScriptもイ…

gradleでshell commandを実行する

gradleというかgroovyの機能。以下のようにしてshell commandを実行し、その結果を取得できる。 def proc = 'echo "test"'.execute() proc.waitFor() proc.in.text // 標準出力に出力された文字列を取得する 参考: Groovy - Executing External Processes F…

Dev, Staging等の各環境毎に異なるデータはbuildConfigFieldで指定する

下記記事でpro, freeなどのバージョン毎にリソースをまとめて定義する方法を書いたが、サーバのURLなどDev, Staging等の各環境毎に異なる値にしたいこともある。 2015-02-18 - 日々精進 そういう場合は、buildConfigFieldで指定し、BuildConfigクラスから取…

複数のProductFlavorでリソースを共有する

同じコードベースからpro版, free版を作成する場合などは以下のように6つProductFlavorを作ることが多い。 proDev, proStaging, proProduction, freeDev, freeStaging, freeProduction しかし、Dev,Stagingなどの環境毎にリソースを分けたくない。(文言など…

build variantの一部をビルド対象としない

product flavorを開発環境・テスト環境・本番環境などで分けることはよくあると思うが、 その場合開発環境・テスト環境版はreleaseビルドさせたくないだろう。 そういう場合にbuild variantの一部をビルド対象としないようにするにはvariantFilterを使う。 a…

androidannotationsを使っているプロジェクトでproductFlavorsを追加するとビルドエラーになる

環境: apt plugin: 'com.neenbedankt.gradle.plugins:android-apt:1.4' gradle version:2.2.1 androidannotationsを使っているプロジェクトでproductFlavorsを追加すると':app:proDebugTestCompile' taskが失敗した旨のエラーメッセージが出た。 resourcePa…

gradle build時にテストを実行しないようにする

以下コマンドでできる。 gradle build -x test 参考: Gradle build without tests

gradlewを実行すると、「Could not find property 'processResources' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated」エラー

原因はgradleの仕様変更。 build.gradleを以下のように修正すると直った。 androidManifestFile variant.outputs[0].processResources.manifestFile 参考: http://rx93g.blogspot.jp/2014/12/android-studio-10.html

gradlewを実行すると、「Error:Could not find property 'processManifest' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated」エラー

原因はRobolectric Gradle Pluginのバージョンが古いこと。 Android Studioのバージョンを1.0.0に上げると、Robolectric Gradle Pluginは1.4にしないといけないらしい。 以下のようにバージョンを指定すると直った。 classpath 'org.robolectric:robolectric…

gradlew実行時に「No such property: projectDependencies for class: com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated」エラー

Android Gradle pluginのバージョンとandroid-aptのバージョンが合っていないことが原因。 以下のようにバージョンを修正すると直った。 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' classpath 'org.robolectric:robolectric-gradle-plugin…

gradlewを実行すると、「Received status code 502 from server: Bad Gateway」エラー

原因はプロキシの外と内側の両方にMavenリポジトリがあり、両方からライブラリをダウンロードしてくる場合にプロキシの内側のリポジトリにアクセス出来なかったことが原因(プロキシの内側にあるリポジトリにアクセスするにはプロキシを経由せずアクセスする…