当前位置: 首页 > 知识库问答 >
问题:

颤振:Java使用或覆盖不推荐的API

百里雅珺
2023-03-14

我一直在尝试在Android/IOS颤振应用程序中使用auth、firestore firebase,在测试了几个不同版本后,遇到了许多不同的问题。现在,它向我显示了构建日志中的几条消息

构建日志

注意:D:\flatter\SDK\flatter。发布缓存\托管\发布。达特朗。org\firebase\u core-0.4。3.1\android\src\main\java\io\flatter\plugins\firebase\core\FirebaseCorePlugin。java使用或覆盖不推荐使用的API。注意:有关详细信息,请使用-Xlint:deprecation重新编译。注意:D:\flatter\SDK\flatter。发布缓存\托管\发布。达特朗。org\cloud\u firestore-0.13。0 1\android\src\main\java\io\flatter\plugins\firebase\cloudfirestore\CloudFirestorePlugin。java使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未选中以获取详细信息。D8:无法在单个dex文件中容纳请求的类(#方法:81454

    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:61)

    at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:56)

    at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:215)
    at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:210)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)

    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run(Thread.java:748) Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to

在com上完成。Android工具。r8。乌提尔斯。t、 a(:55)在com.Android工具。r8。D8。在com上运行(:11)。Android建设者德兴。D8DEX存档合并。mergeDexArchives(D8DexArchiveMerge.java:116)。。。又有34个原因是:com.Android工具。r8。乌提尔斯。AbortException:错误:null,无法在单个dex文件中容纳请求的类(#方法:81454

失败:构建失败,有一个异常

>

  • 错误:任务“:app:mergeDexDebug”的执行失败。

    执行com.android.build.gradle.internal.tasks.Worker$ActionFacadecom.android.builder.dexing.DexArchiveMergerExc0019时发生故障:合并dex存档时出错:. dex文件中的方法引用数不能超过64K。了解如何在https://developer.android.com/tools/building/multidex.html解决此问题

    尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的洞察力。

    构建在4m 33s中失败

    颤振医生-v

    [√]Flutter(通道稳定,v1.12.13热修复补丁.5,在Microsoft Windows[版本10.0.18362.535],区域设置en-IN)

    • • Flutter version 1.12.13+hotfix.5 at D:\Flutter\SDK\flutter
      • Framework revision 27321ebbad (3 weeks ago), 2019-12-10 18:15:01 -0800
      • Engine revision 2994f7e1e6
      • Dart version 2.7.0
      

      [√] Android工具链-为Android设备开发(Android SDK版本29.0.2)

      • • Android SDK at C:\Users\admin\AppData\Local\Android\sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • Platform android-29, build-tools 29.0.2
        • Java binary at: D:\Android SDK\jre\bin\java
        • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
        • All Android licenses accepted.
        

        [√] Android Studio(3.5版)

        • • Android Studio at D:\Android SDK
          • Flutter plugin version 41.1.2
          • Dart plugin version 191.8593
          • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
          

          公共规格

          dependencies:
            flutter:
              sdk: flutter
            firebase_auth: ^0.15.3
            cloud_firestore: ^0.13.0+1
          

          build.gradle(android)

          dependencies {
                  classpath 'com.android.tools.build:gradle:3.5.0'
                  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
                  classpath 'com.google.gms:google-services:4.3.0'
              }
          
  • 共有2个答案

    姬向明
    2023-03-14

    为了使用minSdkVersion以下21你将不得不配置你的应用程序的Multidex如下:

    android {
        defaultConfig {
            ...
            minSdkVersion 15 
            targetSdkVersion 28
            multiDexEnabled true
        }
        ...
    }
    
    dependencies {
      implementation "androidx.multidex:multidex:2.0.1"
    }
    

    在此之后,请运行

    flutter pub upgrade
    flutter pub get
    flutter clean
    flutter run
    

    它仍然会抛出警告后,flutter干净,但至少它将有可能支持早期版本。更多关于官方文档的信息

    赵浩邈
    2023-03-14

    您需要使用以下插件:

    dependencies:
      firebase_auth: ^0.15.3
      cloud_firestore: ^0.13.0+1
    

    别忘了配置firebase:

    https://pub.dev/packages/cloud_firestore#setup

    https://pub.dev/packages/firebase_auth#usage

    也在您的应用程序/构建中。渐变,增加minSdkVersion

    更改此项:

    minSdkVersion 16
    

    变成这样:

    minSdkVersion 23
    
     类似资料:
    • 我试图将我的项目升级到一些最新版本,但由于项目中的一些依赖项尚未更新,我无法获得空安全性。 我已经求助于sdk版本2.10,同时我更新了所有核心包,解决了所有突破性的更改。一些不推荐的更改(如FlatButton到TextButton,尚未解决)。 我在构建解决方案时遇到了几个问题,在咨询了一些旧的Stack帖子后,我拼凑了gradle文件更新,升级到Android Studio等... 但是,当

    • 我在最新的Android Studio上创建了一个全新的Android项目。我做的第一件事是将`realm'库添加到项目中,方法是将以下内容添加到gradle文件中: 如果我尝试编译,我会得到以下错误: Origine2:C:\users\usmaan.gradle\caches\caches\modules-2\files-2.1\io.realm\realm-android\0.80.3\79

    • 我编译了我的程序,得到了下面的错误。我该如何解决?

    • 问题内容: 我已经看到了许多在API上使用注释以将其标记为“需要尽快替换”的示例。 但是,在几乎所有这些情况下,代码开发人员不仅继续使用已弃用的API,而且还抑制了弃用警告。 似乎API开发人员的最佳意图最终是创建更多与已实现的业务逻辑无关的代码- 如果不赞成使用API​​,但在抑制相关警告的情况下继续使用它,则似乎充其量只是代码的降级,并且在IMHO最差的情况下替换不推荐使用的库时,可能会导致应

    • 我已经使用了最新版本的video_player:^0.10.5+1),但显示以下警告。 注意:某些输入文件使用或重写不推荐的API。 注意:使用-xlint重新编译:有关详细信息。 注意:注意:详细信息请使用-xlint:deprecation重新编译。

    • 本文向大家介绍C# 函数覆盖总结学习(推荐),包括了C# 函数覆盖总结学习(推荐)的使用技巧和注意事项,需要的朋友参考一下 覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数。 一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现。 public virtual void IntroduceMyself(){...}//父类虚函数 public new void IntroduceMy