Android Plugin for Gradle リビジョン 1.5.0(2015 年 11 月)

依存関係:
  • Gradle 2.2.1 以降。
  • Build Tools 21.1.1 以降。
一般的な注意事項:
  • データ バインディング プラグインを Android Plugin for Gradle に統合しました。有効にするには、プラグインを使用する各プロジェクトの build.gradle ファイルに次のコードを追加します。
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • 新しい Transform API を追加しました。これにより、.dex ファイルに変換する前にコンパイル済みの .class ファイルをサードパーティ プラグインで操作できるようになりました。Transform API を使用すると、カスタムクラス操作の挿入が簡単になると同時に、操作可能な対象に関して柔軟性が高まります。変換をビルドに挿入するには、いずれかの Transform インターフェースを実装する新しいクラスを作成し、android.registerTransform(theTransform)android.registerTransform(theTransform, dependencies) に登録します。タスクをつなぎ合わせる必要はありません。Transform API に関する注意事項は次のとおりです。
    • 変換は、現在のプロジェクト、サブプロジェクト、外部ライブラリの 1 つまたは複数に適用できます。
    • 変換はグローバルに登録する必要があり、すべてのバリアントに適用されます。
    • Java Code Coverage Library(JaCoCo)、ProGuard、MultiDex による内部コード処理で、Transform API が使用されるようになりました。ただし、Java Android Compiler Kit(Jack)はこの API を使用せず、javac/dx コードパスのみを使用します。
    • Gradle は、変換を JaCoCo、サードパーティ プラグイン、ProGuard の順に実行します。 サードパーティ プラグインの実行順序は、サードパーティ プラグインによって変換が追加される順序と一致します。サードパーティ プラグインの開発者は、API を介して変換の実行順序を制御できません。
  • ApplicationVariant クラスから dex ゲッターが非推奨になりました。 変換を介して実行されるようになったため、Dex タスクにバリアント API を介してアクセスできなくなりました。現在、dex プロセスを制御する代替手段はありません。
  • アセットの増分サポートを修正しました。
  • テスト プロジェクトで使用できるように MultiDex のサポートを改善し、テストが自動的に com.android.support:multidex-instrumentation 依存関係を持つようになりました。
  • Gradle ビルドが非同期タスクを呼び出し、ワーカー プロセスで障害が発生した場合に、Gradle ビルドが適切に失敗し、根本的なエラー原因を報告する機能を追加しました。
  • 複数のアプリケーション バイナリ インターフェース(ABI)が含まれるバリアントで特定の ABI を設定するためのサポートを追加しました。
  • テストのインストール時や実行時の、ANDROID_SERIAL 環境変数に対するデバイス シリアル番号のカンマ区切りリストのサポートを追加しました。
  • Android 5.0(API レベル 20)以降を実行しているデバイスで、APK 名にスペースが含まれているとインストールが失敗する問題を修正しました。
  • Android Asset Packaging Tool(AAPT)のエラー出力に関連する、さまざまな問題を修正しました。
  • JaCoCo 増分インストゥルメンテーションのサポートを追加し、増分ビルドを高速化しました。Android Plugin for Gradle は、JaCoCo instrumenter を直接呼び出します。新しいバージョンの JaCoCo instrumenter を強制するには、ビルド スクリプトの依存関係として追加する必要があります。
  • クラスでないファイルを無視するように、JaCoCo のサポートを修正しました。
  • 下位互換性のために、ビルド時に PNG を生成するためのベクター型ドローアブルのサポートを追加しました。 Android Plugin for Gradle は、API バージョンを指定しない、またはアプリのマニフェストの <uses-sdk> 要素で 20 以下の android:minSdkVersion 属性を指定するリソース ディレクトリにあるすべてのベクター型ドローアブルに対して、PNG を生成します。build.gradle ファイルの defaultConfigproductFlavor のセクションで generatedDensities プロパティを使用すると、PNG 密度を設定できます。
  • プラグインが一度だけ生成して単体テストに使用する、モック可能な android.jar の共有を追加しました。applib などの複数のモジュールで共有されるようになりました。再生成するには $rootDir/build を削除します。
  • APK のパッケージ化中ではなく、難読化タスクの前に Java リソースを処理するように変更しました。この変更により、難読化タスクは、パッケージの難読化に続いて Java リソースを適応させることができます。
  • 試験運用版ライブラリ プラグインで Java Native Interface(JNI)コードを使用する際の問題を修正しました。
  • 試験運用版ライブラリ プラグインの android:compileSdkVersion 属性とは別にプラットフォームのバージョンを設定する機能を追加しました。