首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任务':react-native-camera:compileDebugJavaWithJavac‘执行失败

任务':react-native-camera:compileDebugJavaWithJavac‘执行失败
EN

Stack Overflow用户
提问于 2019-03-02 15:30:16
回答 4查看 9.1K关注 0票数 9

我正在使用React创建应用程序--本机,并在Android设备上进行测试。添加了react本机相机模块后,会发生以下错误:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':react-native-camera:compileDebugJavaWithJavac'.在“构建->运行任务”(Android )。

关于Java编译器,大约有20-30个错误,所有这些错误都显示如下:error: package android.support.annotation does not existerror: package android.support.v4.util does not existerror: package android.support.media does not exist等,或者是error: cannot find symbol class SparseArrayCompaterror: package Pools does not existerror: cannot find symbol variable ExifInterface,这些错误在错误文件中签入时与import android.support.v4.util.ArrayMap;-import类语句有关。

我的android/build.gradle文件:

代码语言:javascript
复制
buildscript {
    ext {
        minSdkVersion = 26
        compileSdkVersion = 28
        targetSdkVersion = 27
        supportLibVersion = 28
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
    }
}

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
        mavenLocal()
        jcenter()
        /*maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            //url "$rootDir/../node_modules/react-native/android"
            url "https://maven.google.com"
        }*/
        google()
    }
}

tasks.withType(Wrapper) {
    gradleVersion = "4.10.1"
    distributionUrl = distributionUrl.replace("bin", "all")
}

我的应用程序/build.gradle文件:

代码语言:javascript
复制
apply plugin: "com.android.application"

import com.android.build.OutputFile

project.ext.react = [
    entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

def enableSeparateBuildPerCPUArchitecture = false

def enableProguardInReleaseBuilds = false
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.helloworld"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86", "arm64-v8a"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
            def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
    productFlavors {
    }
}

dependencies {
    implementation (project(':react-native-camera')) {
        exclude group: 'com.google.android.gms'
        exclude group: "com.android.support"
        implementation 'com.android.support:exifinterface:28.0.0'
        implementation ('com.google.android.gms:play-services-vision:12.0.1') {
            force = true
        }
    }
    implementation project(':react-native-orientation')
    implementation project(':react-native-gesture-handler')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-linear-gradient')
    implementation project(':react-native-spinkit')
    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation ('com.facebook.react:react-native:0.58.3')
    implementation "com.android.support:support-v4:28.0.0"
    //implementation "androidx.legacy:legacy-support-v4:1.0.0"
}

我试图解决以下问题:

  • 我将android-support-v4.jar文件添加到./libs文件夹中。
  • 我添加了"google()“或maven链接到依赖项。
  • 我尝试过更改minSdkVersion、compileVersion等,但是我想这可能是主要的问题。
  • 重建这个项目也没有成功。
  • 将项目迁移到Android。

My版本: 28

分级版本: 4.10.1

类路径'com.android.tools.build: gradle :3.3.1‘(将gradle版本降级为3.1.0无效)。

EN

回答 4

Stack Overflow用户

发布于 2019-11-20 13:06:01

使用应用程序构建gradle属性,在react原生相机build.gradle文件中更改minsdk版本和编译in版本。

android/build.gradle

代码语言:javascript
复制
buildscript {
    ext {
      buildToolsVersion = "28.0.3"
      minSdkVersion = 16
      compileSdkVersion = 28
      targetSdkVersion = 28
      supportLibVersion = "28.0.0"
      googlePlayServicesVersion = "16.1.0" // or set latest version
      androidMapsUtilsVersion = "0.5+"
    }
}

反应-本地摄像头/android/build.gradle

代码语言:javascript
复制
android {
   compileSdkVersion 28
   buildToolsVersion "28.0.3"

defaultConfig {
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName computeVersionName()
}
lintOptions {
    abortOnError false
}
}
票数 2
EN

Stack Overflow用户

发布于 2021-10-29 14:09:24

结帐平台的具体要求..。例如,在android上检查权限,至少应该是:

代码语言:javascript
复制
<uses-permission android:name="android.permission.CAMERA" />
票数 0
EN

Stack Overflow用户

发布于 2022-08-26 18:48:23

在根目录中运行:

代码语言:javascript
复制
npx jetify
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54960107

复制
相关文章

相似问题

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