我正在使用React-Native创建应用程序,并在Android设备上对其进行测试。添加react-native-camera模块后,出现以下错误:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':react-native-camera:compileDebugJavaWithJavac'.
位于“构建-〉运行任务”(Android Studio)。
关于Java编译器,大约有20-30个错误,所有这些错误都显示如下:error: package android.support.annotation does not exist
、error: package android.support.v4.util does not exist
、error: package android.support.media does not exist
等。或error: cannot find symbol class SparseArrayCompat
、error: package Pools does not exist
、error: cannot find symbol variable ExifInterface
,当在错误文件中检查时,它们与import android.support.v4.util.ArrayMap;
-导入类语句有关。
我的android/build.gradle文件:
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文件:
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 X。
我的SDK版本:28
Gradle版本:4.10.1
类路径“com.android.tools.build:gradle:3.3.1”(将gradle版本降级到3.1.0不起作用)。
4条答案
按热度按时间bvk5enib1#
在 react-native - camera build . gradle 文件 中 更改 minsdk 版本 并 使用 您 的 应用 构建 gradle 属性 编译 dk 版本 。
# # Android/构建 版本 . gradle
中 的 每 一 个
# # react-native - camera/安卓/内部 版本 . gradle
格式
jaxagkaj2#
结账平台具体要求......例如在android上结账权限至少应该是:
hgtggwj03#
在根目录下运行:
ia2d9nvy4#
最近由于react-native issue,我在我所有的工作项目中得到错误。我的React Native版本是0.61.5
关于
修复了旧版本的react-native(〈0.63):上述修复仅适用于gradle 6.2及更高版本。旧版本的react-native使用旧版本的gradle。
我只是把我的Gradle版本从5. 5改成6. 2。它对我很有效:)