1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flutterで usb_serial 0.5.2 を使ったプロジェクトがビルドできなくなったので直す(javaライブラリUsbSerial-6.1.0関連のエラー)

Posted at

概要

Flutterで、以前正しくビルドできていたusb_serialを使ったプロジェクトが、以下のエラーメッセージが出てビルドできなくなったので、直す方法をまとめる。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.github.felHR85:UsbSerial:6.1.0.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/github/felHR85/UsbSerial/6.1.0/UsbSerial-6.1.0.pom
       - https://repo.maven.apache.org/maven2/com/github/felHR85/UsbSerial/6.1.0/UsbSerial-6.1.0.pom
       - https://storage.googleapis.com/download.flutter.io/com/github/felHR85/UsbSerial/6.1.0/UsbSerial-6.1.0.pom
       - https://jcenter.bintray.com/com/github/felHR85/UsbSerial/6.1.0/UsbSerial-6.1.0.pom


詳細

環境

  • Windows 11
  • Flutter SDK 3.24.4
  • Android SDK Tools 35
  • usb_serial 0.5.2 (https://pub.dev/packages/usb_serial)
  • VSCodeのFlutter拡張を使用してFlutterプロジェクトをビルド
Flutter 3.24.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 603104015d (2 days ago) • 2024-10-24 08:01:25 -0700
Engine • revision db49896cf2
Tools • Dart 3.5.4 • DevTools 2.37.3

原因の推定

  • usb_serial 0.5.2は、javaライブラリ UsbSerial-6.1.0 参照する
  • そのため、ビルド時にUsbSerial-6.1.0をリポジトリに取りに行くが、置かれているはずのリポジトリで見つからない

参照先リポジトリを修正する必要がありそう?


修正その1

usb_serialのフォルダ

C:\Users\{ユーザー}\AppData\Local\Pub\Cache\hosted\pub.dev\usb_serial-0.5.2

にあるandroid/build.gradleの2か所の参照先リポジトリを修正する。

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral() // 追加
    }

buildscriptを修正

rootProject.allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        mavenCentral() // 追加
    }
    : 以下略

この修正を実施し、flutterプロジェクトを ビルドしてみたが、同様のエラーが出てしまい失敗。


修正その2

何かおかしいところがないか、再度調べる過程で jitpack.io というリポジトリの

というページにあるビルドログを見ると、6.1.0がビルドエラーになっている。

一方、1つ前の6.0.6を見るとbuild successとなっている。

なので、6.1.0というのは参照できないバージョンなのではないか?と考えられた。そこで、build.gradleに戻り、その1の修正にさらに以下の変更を追加。

dependencies {
    // implementation 'com.github.felHR85:UsbSerial:6.1.0'
    implementation 'com.github.felHR85:UsbSerial:6.0.6'
}

この状態でビルドしたところ、成功!

Launching lib\main.dart on SH M24 in debug mode...
√ Built build\app\outputs\flutter-apk\app-debug.apk

まとめ

usb_serial 0.5.2を使ったプロジェクトのビルドエラーを解消できた。ただし、バックグラウンドで使用されるUsbSerialのバージョンを変更したことによるアプリケーション側での影響がないかは注意する必要がある。

また、かつて6.1.0で動作していた実績はあるので今回の方法は応急処置的なものの可能性がある。いずれは6.1.0で動作するように再修正したい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?