registerTorchCallbackのAPIバージョンmin23設定でハマった


registerTorchCallback を使用した際にハマったことのメモ

APIレベル23(Android6)以降のみで使用できるメソッド。

自分はもともとAndroid5.1まで対応可能なプロジェクトを作成していた(APIレベル22)ため、「使おうとしてるメソッドやと、おたくが設定したAPIレベルじゃ対応でけん端末があるで。ええ具合に修正してや。直さんかったらビルドさせん」エラーが発生。

改めて読んでみると、「AndroidManifestファイルに対応させたい最低限のAPIレベルを書き込むか、build.gradle(モジュール:app)に書き込めや」とのこと。

まず、manifestファイルに以下記述。

AndroidManifest.xml
<uses-sdk minSdkVersion="23" />

実行してもエラーが直らない。改めてエラーが発生「manifestファイルにminSdkVersionは書かんといてや。 結局gradleファイルから上書きするし」

最初からそう言えや!ということで、build.gradle(モジュール:app)内を確認すると以下記述を発見。こいつがやんちゃしてたか。

build.gradle(module_app)

android{
...
  defaultConfig{
      minSdkVersion 22//←23に修正
...
  }
}

修正後、manifestファイルからは当該項目を削除するとエラーが消えた。
ただし、Android6以前には対応でけん。まあ個人用やしええで。