[解決済み] lint タスクで gradle のビルドが失敗する
質問
Android Studio 0.4.0で作成した簡単なandroidプロジェクトを持っています。 私はGradle 1.9とGradle Android Plugin 0.7を使用しています。昨日、私はJake Whartonの ButterKnife ライブラリ を私のgradleビルドスクリプトに追加しました。
dependencies {
compile 'com.android.support:support-v4:19.0.0'
compile 'com.android.support:appcompat-v7:19.0.0'
// Butterknife
compile 'com.jakewharton:butterknife:4.0.1'
}
Android Studioからアプリケーションを実行すると、ビルドは正常に実行され、私のデバイス上で正しく実行されます。しかし、(コマンドラインから)試したところ
gradle build
を実行すると、ビルドに失敗します。以下は、私の lint レポートの一部です。
InvalidPackage: Package not included in Android
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
何か見落としているのかもしれませんが、ターミナルでプロジェクトをビルドできないのは、AndroidプロジェクトのCIの可能性を阻んでいるのではないでしょうか。
どんな助けでも素晴らしいです。
どのように解決するのですか?
とは 0.7.0 で、Lintのサポートが拡張されましたが、常に正しく動作するわけではありません。(例: butterknifeライブラリ)
解決策は、Lintエラーが見つかった場合にビルドを中断しないようにすることです。
私は https://android.googlesource.com/platform/tools/base/+/e6a5b9c7c1bca4da402de442315b5ff1ada819c7
(ディスカッション https://plus.google.com/+AndroidDevelopers/posts/ersS6fMLxw1 )
android {
// your build config
defaultConfig { ... }
signingConfigs { ... }
compileOptions { ... }
buildTypes { ... }
// This is important, it will run lint checks but won't abort build
lintOptions {
abortOnError false
}
}
また、特定のLintルールだけを無効にして、他のルールではビルドを失敗させ続ける必要がある場合は、これを使います。
/*
* Use only 'disable' or only 'enable', those configurations exclude each other
*/
android {
lintOptions {
// use this line to check all rules except those listed
disable 'RuleToDisable', 'SecondRuleToDisable'
// use this line to check just listed rules
enable 'FirstRuleToCheck', 'LastRuleToCheck'
}
}
関連
-
[解決済み] Android StudioでHttpClientがインポートされない
-
[解決済み] Android StudioのGradleとは?
-
[解決済み] テストなしでGradleビルド
-
[解決済み] Gradle for Androidを使用して、外部のaarパッケージを手動でインクルードする方法
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み】Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatを定義するdexファイルが複数存在する。
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] PendingIntentの "requestCode "は何に使うのですか?
-
[解決済み] アダプタからActivityメソッドを呼び出す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] android: imageview の画像を画面に合わせて伸縮させる
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] アンドロイドアプリのユーザーデータを消去する
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] RecyclerViewのアイテムに波及効果を追加する
-
[解決済み] Android APKファイルの中身を見るには?
-
[解決済み] WhatsAppでメッセージを送信する