首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ionic 6中的capacitor-cordova-android-plugins:compileDebugJavaWithJavac执行失败

Ionic 6中的capacitor-cordova-android-plugins:compileDebugJavaWithJavac执行失败
EN

Stack Overflow用户
提问于 2022-02-22 19:05:09
回答 2查看 5.4K关注 0票数 2

我使用Cordova插件在电容器离子项目中使用fileOpener。在此之前,当我安装以下软件包时,一切正常:

代码语言:javascript
复制
npm install @ionic-native/file
npm install cordova-plugin-file
npm install @ionic-native/file-opener
npm install cordova-plugin-file-opener2

以下是我面临的错误:

代码语言:javascript
复制
  > Configure project :
The RepositoryHandler.jcenter() method has been deprecated. This is scheduled to be removed in Gradle 8.0. JFrog announced JCenter's sunset in 
February 2021. Use mavenCentral() instead. Consult the upgrading guide for further information: https://docs.gradle.org/7.4/userguide/upgrading_version_6.html#jcenter_deprecation
        at build_dcpio6s66acap9ob7gfqiirhb$_run_closure1$_closure2.doCall(C:\Project\Ionic\mock-service\android\build.gradle:7)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
WARNING:: Using flatDirs should be avoided because it doesn't support any meta-data formats.
Currently detected usages:
- repository flatDir used in: project ':app', project ':capacitor-cordova-android-plugins'  
WARNING:: Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories.     
This repository is deprecated and it will be shut down in the future.
See http://developer.android.com/r/tools/jcenter-end-of-service for more information.
Currently detected usages in: root project 'android', project ':app', project ':capacitor-android', ...

> Task :capacitor-android:compileDebugAidl NO-SOURCE
Relying on FileTrees for ignoring empty directories when using @SkipWhenEmpty has been deprecated. This is scheduled to be removed in Gradle 8.0. Annotate the property sourceFiles with @IgnoreEmptyDirectories or remove @SkipWhenEmpty. Consult the upgrading guide for further information: https://docs.gradle.org/7.4/userguide/upgrading_version_7.html#empty_directories_file_tree

> Task :app:compileDebugRenderscript NO-SOURCE
Relying on FileTrees for ignoring empty directories when using @SkipWhenEmpty has been deprecated. This is scheduled to be removed in Gradle 8.0. Annotate the property sourceDirs with @IgnoreEmptyDirectories or remove @SkipWhenEmpty. Consult the upgrading guide for further information: https://docs.gradle.org/7.4/userguide/upgrading_version_7.html#empty_directories_file_tree

> Task :capacitor-cordova-android-plugins:compileDebugJavaWithJavac FAILED
C:\Project\Ionic\mock-service\android\capacitor-cordova-android-plugins\src\main\java\io\github\pwlin\cordova\plugins\fileopener2\FileProvider.java:28: error: package android.support.v4.content does not exist
public class FileProvider extends android.support.v4.content.FileProvider {
                                                            ^
C:\Project\Ionic\mock-service\android\capacitor-cordova-android-plugins\src\main\java\io\github\pwlin\cordova\plugins\fileopener2\FileOpener2.java:119: error: cannot find symbol
                                                path = FileProvider.getUriForFile(context, cordova.getActivity().getPackageName() + ".fileOpener2.provider", file);
                                                                   ^
  symbol:   method getUriForFile(android.content.Context,java.lang.String,java.io.File)
  location: class io.github.pwlin.cordova.plugins.fileopener2.FileProvider
C:\Project\Ionic\mock-service\android\capacitor-cordova-android-plugins\src\main\java\io\github\pwlin\cordova\plugins\fileopener2\FileOpener2.java:127: error: cannot find symbol
                                        Uri path = FileProvider.getUriForFile(context, cordova.getActivity().getPackageName() + ".fileOpener2.provider", file);
                                                               ^
  symbol:   method getUriForFile(android.content.Context,java.lang.String,java.io.File)
  location: class io.github.pwlin.cordova.plugins.fileopener2.FileProvider
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Project\Ionic\mock-service\android\capacitor-cordova-android-plugins\src\main\java\org\apache\cordova\file\AssetFilesystem.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':capacitor-cordova-android-plugins:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 8s
70 actionable tasks: 1 executed, 69 up-to-date

Package.json:

代码语言:javascript
复制
     "dependencies": {
    "@angular/common": "~13.0.0",
    "@angular/core": "~13.0.0",
    "@angular/forms": "~13.0.0",
    "@angular/platform-browser": "~13.0.0",
    "@angular/platform-browser-dynamic": "~13.0.0",
    "@angular/router": "~13.0.0",
    "@capacitor/android": "3.4.1",
    "@capacitor/app": "1.1.0",
    "@capacitor/core": "3.4.1",
    "@capacitor/haptics": "1.1.4",
    "@capacitor/keyboard": "1.2.2",
    "@capacitor/status-bar": "1.0.8",
    "@ionic-native/file": "^5.36.0",
    "@ionic-native/file-opener": "^5.36.0",
    "@ionic/angular": "^6.0.0",
    "cordova-plugin-file": "^6.0.2",
    "cordova-plugin-file-opener2": "^3.0.5",
    "rxjs": "~6.6.0",
    "tslib": "^2.2.0",
    "zone.js": "~0.11.4"
  },

Java版本:

代码语言:javascript
复制
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) Client VM (build 25.321-b07, mixed mode)

分级版本:

代码语言:javascript
复制
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

我在网上什么都试过了。也许我漏掉了什么。请帮我解决这个问题。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-11 10:40:24

清洁你的项目

在安道尔目录中运行gradlew洁净

然后运行下面的命令,它复制并粘贴您的节点模块包到android目录,如果您使用电容或cordova或离子js。

npx帽同步

重要步骤运行npx jetify

如果没有安装在本地机器上,则安装在本地机器上,npm安装jetifier

票数 3
EN

Stack Overflow用户

发布于 2022-05-25 16:09:55

我把cordova插件文件从第7版降到了第6版,它解决了这个问题!

详见:https://github.com/ionic-team/capacitor/issues/5602

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71226971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档