Flutterでbarcode scanする【barcode_scan】

「barcode_scan」というPluginを試してみました

Flutterでbarcode scanしてみました。
ちょっとつまづいた点もあるので、それも記載します。

開発環境

Flutter v1.9.1+hotfix.4

barcode_scan 1.0.0

準備

Pluginの準備

pub.devのPluginのページの情報が古かったので(例:barcode_scan: ^0.0.3という記載があるなど)、GitHubの方を参考にしました。

以下のリンクから飛びます。

plugin

GitHubにexampleがあるので、これをみれば使用例が分かります。

flutter_barcode_reader/example at master · apptreesoftware/flutter_barcode_reader · GitHub

エラーとその解決

エラー

いざデバッグしようとすると以下のエラーが出ました。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.0.1) classpath. You should manually set the same version via DependencyResolution

ちなみに、pubspec.yamlの記載が「barcode_scan: ^0.0.3」の場合はエラー発生せず、「barcode_scan: ^1.0.0」にしたら発生しました。

解決

android/build.gradleの中のバージョンの指定を変更すると、解決できました。

classpath 'com.android.tools.build:gradle:3.2.1'

classpath 'com.android.tools.build:gradle:3.3.1'

にする

flutter build failed. Android dependency ‘androidx.core:core’ has different version for the compile (1.0.0) and runtime (1.0.1) classpath

結果

Result

miajimyu/flutter_barcode_scan_sample

使った感想

中央の赤いラインにバーコードを重ねたらスキャンするのかと思ったら、ハイライトされている領域に入ったらスキャンしました。
実物のバーコードスキャナーを使ったことがあるため、最初のうち少し違和感ありました。

二次元バーコードもQRコードも、キビキビとスキャンできます。

iOSの方ではあまり試していませんが、ページ遷移の際に指でちょっかいをだすと、処理が少し固まるような印象がありました。

動作確認環境

Androidエミュレータ

Pixel 3実機

学び

  • barcode scanが簡単にできるPluginがある
  • pub.devのPluginのページの情報は古い場合がある
  • build.gradleの中のバージョンの指定を変更すると、エラーが解決する場合がある

関連記事

Flutterでbarcode scanする【barcode_scan】


スポンサーリンク