gpt4 book ai didi

android - 无法解析符号 'tools' 和 'GradleException'

转载 作者:可可西里 更新时间:2023-11-01 19:06:44 24 4
gpt4 key购买 nike

我已经开始处理现有项目,包括 Android NDK。我在 build.gradle 中有两个问题,这对我来说是不可能构建应用程序的。供您引用,我的同事(正在处理它)能够构建该应用程序。

我已经导入了 NDK,从项目结构中我可以看到正确的 Android NDK 路径。

这是 build.gradle 的样子:

import org.apache.tools.ant.taskdefs.condition.Os

buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}

dependencies {
// The Fabric Gradle plugin uses an open ended version to react
// quickly to Android tooling updates
classpath 'io.fabric.tools:gradle:1.21.5'
}
}
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'realm-android'

repositories {
maven { url 'https://maven.fabric.io/public' }
}

android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
dataBinding{
enabled = true;
}

defaultConfig {
applicationId "com.lucien.myapp"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0.0"

ndk {
moduleName "DSPLib-jni"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

sourceSets.main.jni.srcDirs = [] // disable automatic ndk-build call, which ignore our Android.mk
sourceSets.main.jniLibs.srcDir 'src/main/libs'

// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
workingDir file('src/main')
commandLine getNdkBuildCmd()
}

tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}

task cleanNative(type: Exec) {
workingDir file('src/main')
commandLine getNdkBuildCmd(), 'clean'
}

clean.dependsOn cleanNative

}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.android.support:support-v4:24.2.0'

compile 'com.github.PhilJay:MPAndroidChart:v2.2.5'
compile 'com.orhanobut:dialogplus:1.11@aar'
compile('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') {
transitive = true;
}
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.google.code.gson:gson:2.7'

}

def getNdkDir() {
if (System.env.ANDROID_NDK_ROOT != null)
return System.env.ANDROID_NDK_ROOT

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def ndkdir = properties.getProperty('ndk.dir', null)
if (ndkdir == null)
throw new GradleException("NDK location not found. Define location with ndk.dir in the local.properties file or with an ANDROID_NDK_ROOT environment variable.")

return ndkdir

}

def getNdkBuildCmd() {
def ndkbuild = getNdkDir() + "/ndk-build"
if (Os.isFamily(Os.FAMILY_WINDOWS))
ndkbuild += ".cmd"

return ndkbuild

}

第一行有问题,试图导入“org.apache.tools.ant.taskdefs.condition.Os”:无法解析符号“工具”

tools issue

“throw new GradleException("...")”也是同样的问题

GradleException issue

我需要更新 build.gradle 中的内容吗?或者问题出在其他地方?

谢谢!

最佳答案

您可以使用 java 中的任何其他可用异常,例如:

throw new FileNotFoundException("Could not read version.properties!")

关于android - 无法解析符号 'tools' 和 'GradleException',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39330535/

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