gpt4 book ai didi

android - Gradle 2.5 com.android.dx.cf.iface.ParseException : bad class file magic (cafebabe) or version (0034. 0000)

转载 作者:行者123 更新时间:2023-11-29 20:20:49 24 4
gpt4 key购买 nike

我是编程新手,我遇到了一个我找不到答案的问题。

我正在尝试在 Android Stuido 1.3.2 中编译 Superpowered SDK (superpowered.com) 的修改示例。原始示例是使用 gradle 2.2.1 编译的,它适用于当前的 NDK 版本。但是,我希望调试器适用于 native 代码并根据 http://tools.android.com/tech-docs/new-build-system/gradle-experimental我需要 gradle 2.5。

奇怪的是,在使用 gradle 2.5 进行编译时,我收到错误“com.android.dx.cf.iface.ParseException:错误的类文件魔法 (cafebabe) 或版本 (0034.0000)”旧版本没问题。根据其他类似的问题,这是由于 JAVA 中的一些链接错误而发生的,如果有多个 Java 版本可用(v 1.8。而不是 v1.7。),但是,我只有 Java 8,这适用于较旧的 gradle版本。

谁能帮我解决这个问题?

我的gradle 2.2.1 build.gradle代码:

apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
applicationId "com.superpowered.frequencydomain"
minSdkVersion 11
targetSdkVersion 22
versionCode 1
versionName "1.0"

sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = []
}
}

task ndkBuild(type: Exec) {
commandLine '/android/ndk/ndk-build', '-B', '-C', file('src/main/jni').absolutePath
// Windows users:
// commandLine 'C:\\Android\\ndk\\ndk-build.cmd', '-B', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}

我的 Gradle 2.5。代码是:

apply plugin: 'com.android.model.application'


model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"


defaultConfig.with {
applicationId = "com.superpowered.frequencydomain"
minSdkVersion.apiLevel = 10
targetSdkVersion.apiLevel = 23
}



}

android.buildTypes {
release {
minifyEnabled = false
proguardFiles += file('proguard-rules.pro')
proguardFiles += file('proguard-android.txt')
}
}

}



task ndkBuild(type: Exec) {
commandLine 'C:\\Users\\Dave\\AppData\\Local\\Android\\Sdk\\ndk-bundle\\ndk-build.cmd', '-B', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}


dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.0'
}

另一个 build.gradle 文件针对 2.2.1 说:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
jcenter()
}
}

对于 2.5。上面写着:

classpath 'com.android.tools.build:gradle-experimental:0.2.0'

在第 6 行。除此之外它是相同的。

在此先感谢您的帮助!

最佳答案

我和你遇到了同样的问题。在模块的 build.gradle 中添加compileOptions 设置为我解决了这个问题:

model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
// ...

}

compileOptions.with {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}

// ...
}

关于android - Gradle 2.5 com.android.dx.cf.iface.ParseException : bad class file magic (cafebabe) or version (0034. 0000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219923/

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