私はしばらくの間、アプリケーションを開発しており、ビルドの問題がないデバッグビルドタイプに対してテストしてきました。型描画可能の予想リソース[ResourceTypeが]私のAndroidのリリースビルドタイプに 'デバッグ可能なtrue'を追加すると、間違ったエラーがなくなるのはなぜですか?
このエラーはButterknife、生成された.javaファイルで発生します。今日、私は、リリースビルドの種類を構築し、私はエラー
エラーを取得してみました。 (クリーンおよび無効化するキャッシュを行うことを含む)、試行錯誤のかなり後、私はこのように、私は私のアプリのbuild.gradleファイルにリリースビルドタイプにdebuggable true
を追加した場合、ビルドが成功したことを発見:
release {
debuggable true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
をそれ私はこのように他のプロパティをコメントアウトした場合にも構築します。
release {
debuggable true
//minifyEnabled true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
をしかし、私はまたdebuggable true
をコメントアウトした場合、ビルドは以前のように失敗します。だから、たとえ私がそこにいなくても、私のリリースビルドタイプにdebuggable true
を持っていなければならないと思う。
これを引き起こしている可能性がありますどのような任意のアイデア?さらに重要なのは、どのようにしてdebuggable true
なしで、そしてlintの警告を抑制することなく、エラーを取り除くことができるのでしょうか?
(ハンドコード化された.javaファイル内の特定の宣言でlintエラーResourceTypeを抑制しようとしましたが、役に立たなくなりました。TBH、そのようなソリューションを使用して実稼働させたくありません)
proguardルールファイルにはすでにこれらのルールがあります。さらに、元の説明で述べたように、ビルドタイプの設定ですべてをコメントアウトするとビルドが失敗します。すべてをコメントアウトすると、proguardが有効でなく、minifyEnabledがfalse(明示的にfalseに設定しようとしましたが、同じエラーが発生しました)という意味です。したがって、どちらの問題でもないと私には思われます。 --debugでgradleを実行すると、何の関心もありませんでした。しかし、返信いただきありがとうございます。 – roobyroo
ちょうど私が次に試してみたいことは、左下のメニューからビルドバリエーションを変更してリリースしてコンパイルするようにして、APKを生成するときに見つけ出す必要がないようにすることです。あなたの問題がリリースビルドにある場合、定期的にビルドします。共有するサンプルプロジェクトを作成したい場合は、トラブルシューティングを手伝ってうれしく思いますが、他のものはちょうど推測とチェックが必要です。しかし、私は個人的にバターナイフの使用をやめます。 AndroidはData Bindingを導入しました。慣れてしまった方がはるかに優れています。 – Sam