Flutter モジュールがあり、それをネイティブの Android アプリに追加しようとしています。AAR アプローチとソース コード アプローチの両方を試しました。
AAR をビルドしようとすると、flutter build aar
コマンドを実行します。長い出力が表示されますが、これはエラー メッセージのようです。
Plugin project :moor_ffi not found. Please update settings.gradle.
Plugin project :connectivity_macos not found. Please update settings.gradle.
Plugin project :url_launcher_web not found. Please update settings.gradle.
ただし、これは実際にはデバッグ aar をビルドしますが、リリースはビルドしません。
ソース コードを使用してアプリをビルドしようとすると、次のエラーが発生します。
> Configure project :flutter
Plugin project :moor_ffi not found. Please update settings.gradle.
Plugin project :connectivity_macos not found. Please update settings.gradle.
Plugin project :url_launcher_web not found. Please update settings.gradle.
FAILURE: Build failed with an exception.
* Where:
Script '/Users/me/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 738
* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.
settings.gradle を次のように更新することで、そのエラー メッセージを渡すことができました。
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
この問題https://github.com/flutter/flutter/issues/55077を読んでください。今回は、Flutter クラスが見つからないというエラーが表示されます。プロジェクトに flutter.jar を追加しようとしましたが、違いはありませんでした。
どんな助けでも大歓迎です。私は一日中これに取り組んでおり、アイデアがほとんどありません。
これが私のフラッタードクターの出力です:
[✓] Flutter (Channel beta, 1.18.0-11.1.pre, on Mac OS X 10.15.4 19E287, locale en-US)
• Flutter version 1.18.0-11.1.pre at /Users/me/flutter
• Framework revision 2738a1148b (2 weeks ago), 2020-05-13 15:24:36 -0700
• Engine revision ef9215ceb2
• Dart version 2.9.0 (build 2.9.0-8.2.beta)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/me/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.5, Build version 11E608c
• CocoaPods version 1.8.4
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 45.1.1
• Dart plugin version 192.8052
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] VS Code (version 1.45.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.10.2
アップデート
これを機能させる唯一の方法は、古いバージョンの Flutter にダウングレードすることでした。ベータ チャネル v1.14.6 で動作させることができました。これは間違いなく何も修正しませんが、少なくともリリース ビルドを作成できました。