gpt4 book ai didi

android - 从图像 flutter firebase 进行文本识别

转载 作者:行者123 更新时间:2023-11-29 00:53:31 25 4
gpt4 key购买 nike

我想检测图像中的文本,但每次运行程序时都会出现此错误,我尝试更改 firebase 的版本但徒劳无功,而且我还尝试将我的项目迁移到 androidx

E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.inwi.inwi_app. Make sure to call FirebaseApp.initializeApp(Context) first.
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@17.0.0:234)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at com.google.firebase.ml.vision.FirebaseVision.getInstance(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at io.flutter.plugins.firebasemlvision.FirebaseMlVisionPlugin.handleDetection(FirebaseMlVisionPlugin.java:83)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at io.flutter.plugins.firebasemlvision.FirebaseMlVisionPlugin.onMethodCall(FirebaseMlVisionPlugin.java:45)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:96)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:643)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at android.os.MessageQueue.next(MessageQueue.java:323)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at android.os.Looper.loop(Looper.java:136)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at android.app.ActivityThread.main(ActivityThread.java:6682)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
E/MethodChannel#plugins.flutter.io/firebase_ml_vision(30037): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
E/flutter (30037): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Default FirebaseApp is not initialized in this process com.inwi.inwi_app. Make sure to call FirebaseApp.initializeApp(Context) first., null)
E/flutter (30037): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
E/flutter (30037): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)
E/flutter (30037): <asynchronous suspension>
E/flutter (30037): #2 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:344:48)
E/flutter (30037): <asynchronous suspension>
E/flutter (30037): #3 TextRecognizer.processImage (package:firebase_ml_vision/src/text_recognizer.dart:40:38)
E/flutter (30037): <asynchronous suspension>
E/flutter (30037): #4 HomePage.readText (package:inwi_app/HomePage.dart:29:47)
E/flutter (30037): <asynchronous suspension>
E/flutter (30037): #5 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter (30037): #6 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter (30037): #7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (30037): #8 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter (30037): #9 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
E/flutter (30037): #10 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
E/flutter (30037): #11 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
E/flutter (30037): #12 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
E/flutter (30037): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
E/flutter (30037): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (30037): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (30037): #16 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (30037): #17 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (30037): #18 _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (30037): #19 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (30037): #20 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter (30037): #21 _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter (30037): #22 _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)

这是我的 pubspec.yml

name: inwi_app
description: A new Flutter application.

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1

environment:
sdk: ">=2.1.0 <3.0.0"

dependencies:
cloud_firestore:
flutter:
sdk: flutter


# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2

dev_dependencies:
flutter_test:
sdk: flutter
image_picker:
firebase_ml_vision:



# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true

# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg

# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.

# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages

# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages

和我的build.gradle

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 28

lintOptions {
disable 'InvalidPackage'
}

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.inwi.inwi_app"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}

flutter {
source '../..'
}

dependencies {
implementation 'androidx.multidex:multidex:2.0.0'

api 'com.google.firebase:firebase-ml-vision-image-label-model:18.0.0'

implementation 'androidx.multidex:multidex:2.0.1'
//implementation 'com.google.firebase:firebase-ml-vision:22.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}

请有人帮我,我已经尝试解决了将近 2 天

最佳答案

我想您还没有将您的应用程序与 firebase 连接起来。将您的项目添加到 firebase,并按照控制台中的说明将 google-services.json 添加到您的应用程序。只有这样,您的应用才能成功调用 firebase_ml_vision API。

关于android - 从图像 flutter firebase 进行文本识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com