私は自分のプロジェクトの1つに対して署名済みapkを生成しようとしました(以前にこれをすでに行っていました)が、(おそらくAndroid Studio)を更新して以来、私は
エラー:エラー:タイプ文字列[ResourceType]のリソースが必要です
これは、Butterknifeの@BindStringを使用しているためです。
target.settings = res.getString(2131230792);
スタジオでこれをエラーとして検出しないようにするにはどうすればよいですか?設定で検索しようとしましたが、成功しませんでした。
これは報告されています GitHubプロジェクトで 。 ButterKnifeの次のバージョンで修正される予定です。
回避策は there と示されており、lint.xml
クラスのエラーを無視するために、app
モジュールに以下の内容の*$$ViewBinder
ファイルを追加することです。 ButterKnifeが生成する):
<issue id="ResourceType">
<!-- Remove this when this is fixed: https://github.com/JakeWharton/butterknife/issues/338 -->
<ignore path="**/*$$ViewBinder.Java" />
</issue>
これに対する答えは、build.gradleでlintルールを無効にすることです。
Android {
lintOptions {
disable "ResourceType"
}
}
編集:これは、特にEclipseからAndroid Studio。
おそらくより良い解決策は、メソッド定義の直前に@SuppressLint("ResourceType")
を使用してエラー/警告を一時的に無効にすることです。
同様の問題があります。 getStringメソッドを使用します。 R.string.MYSTRINGである必要があるときにgetString(R.id.MYSTRING)で文字列値を取得していたため、strings.xmlではなくids.xmlから文字列値を取得しようとしていました。
これは同じIDの一部のビュー用であり、それらのいずれかのプロパティを変更しようとします。 apk Androidを作成しようとすると、resours idについていくつかの信頼を見つける
それを解決するために
より良い方法でコードを見つけ、別の方法で目的に合わせて解決してみてください
がんばろう