Tôi đã bắt đầu làm việc trên một dự án hiện có bao gồm cả NDK của Android. Tôi có hai vấn đề trong build.gradle, điều này là không thể đối với tôi để xây dựng ứng dụng. Đối với thông tin của bạn, đồng nghiệp của tôi (những người đang làm việc trên nó) đã có thể xây dựng ứng dụng.Không thể giải quyết biểu tượng 'công cụ' và 'GradleException'
Tôi đã nhập NDK, từ cấu trúc dự án tôi có thể thấy đường dẫn NDK chính xác của Android.
Sau đây là cách build.gradle trông giống như:
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:[email protected]'
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
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
}
Tôi gặp sự cố với dòng đầu tiên, cố gắng để nhập khẩu "org.apache.tools.ant.taskdefs.condition.Os": Không thể giải quyết biểu tượng 'công cụ'
Và cùng một loại vấn đề cho "ném GradleException mới (" ... ")"
Tôi có cần cập nhật nội dung nào đó trong build.gradle của mình không? Hoặc vấn đề là ở một nơi khác?
Cảm ơn!
Ông có thể chia sẻ Gradle phiên bản bạn có? Và đó có phải là phiên bản giống như đồng nghiệp của bạn không? – Stanislav
Xin chào Stanislav, tôi đang sử dụng Gradle 2.14.1 và đồng nghiệp của tôi. – Guimareshh
Đã 3 tuần rồi, bạn có giải quyết vấn đề này không? –