この記事では、Android Studio で使われている Android Gradle Plugin でサポートするビルドファイル build.gradle
の書き方で、ここ最近変更があった点をまとめてみました。(「ここ最近」ではアバウトすぎるので、主に v0.10.0 〜 0.12.1 を対象とします。)
特に手元の環境を、Preview 版から Beta 版に移行するときに必要な情報かと思います。
参考にした情報
- 公式のリリースノート
- http://tools.android.com/tech-docs/new-build-system
- ページの最下部には
build.gradle
のパターン集ZIPがあります
- Android Studio と Gradle とのバージョン関係
変更点まとめ
- Manifest Merger の切り替え - v0.10.0 add
android.useOldManifestMerger = false
- Jacoco を使ったテストコードのカバレッジ取得の設定 - v0.10.0 add
testCoverageEnabled = true
jacoco { version = '0.6.2.201302030002' }
- ライブラリのリソースに Prefix を設定 - v0.10.0 add
resourcePrefix 'mylib_'
- Manifest のカスタムプレースホルダーの設定 - v0.11.0 add
manifestPlaceholders = [ activityName:"defaultName"]
- パッケージ名を表すシンボル変更 - v0.11.0 change
-
packageName
->applicationId
-
testPackageName
->testApplicationId
-
- minSdkVersion/targetSdkVersion の記述変更 - v0.11.0 change
-
flavor { minSdkVersion = 9 }
->flavor { minSdkVersion 9 }
-
- プラグイン名の変更 - v0.12.0 change
-
apply plugin: 'android'
->'apply plugin: 'com.android.application'
-
リリースバージョンでは無効になる予定のもの
今は猶予期間として古い書き方が混在していても適用されている書き方がありますが、Android Studio のリリースバージョンとなる v1.0.0 では、無効化すると宣言されているものがあります。
恐らく v1.0.0 では、以下の記述はエラーとなるか無効化されるのだと思います。
(ここでは v0.9.0 〜 v0.12.1 を対象としました。)
-
BuildConfig
のパッケージ名無効化の設定android.packageBuildConfig = false
- ライブラリ同士のユニークパッケージ名の無効化の設定
android.enforceUniquePackageName = false
-
flavorGroup
とflavorDimensions
の混在 - Setter としての
packageName
の記述 - Setter としての
testPackageName
の記述