【问题标题】:Using Kotlogram library in android project在 android 项目中使用 Kotlogram 库
【发布时间】:2016-08-31 00:58:58
【问题描述】:

我想在我的 android 项目中使用Kotlogram library

我正在使用 java 7 (jdk1.7.0_79)。但是当我想调试或运行项目时,发生了这个错误:

意外的顶级异常: java.lang.RuntimeException:异常解析类 在 com.android.dx.command.dexer.Main.processClass(Main.java:752) 在 com.android.dx.command.dexer.Main.processFileBytes(Main.java:718) 在 com.android.dx.command.dexer.Main.access$1200(Main.java:85) 在 com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645) 在 com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) 在 com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) 在 com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) 在 com.android.dx.command.dexer.Main.processOne(Main.java:672) 在 com.android.dx.command.dexer.Main.processAllFiles(Main.java:574) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) 在 com.android.dx.command.dexer.Main.run(Main.java:277) 在 com.android.dx.command.dexer.Main.main(Main.java:245) 在 com.android.dx.command.Main.main(Main.java:106) 原因:com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) 在 com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472) 在 com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) 在 com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388) 在 com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251) 在 com.android.dx.command.dexer.Main.parseClass(Main.java:764) 在 com.android.dx.command.dexer.Main.access$1500(Main.java:85) 在 com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684) 在 com.android.dx.command.dexer.Main.processClass(Main.java:749) ... 12 更多 1个错误;中止 失败

FAILURE:构建失败并出现异常。

出了什么问题: 任务 ':app:transformClassesWithDexForDebug' 执行失败。 com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' 完成非零退出值 1

app build.gradel 内容:

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "api.telegram.learn.kotlogram"
    minSdkVersion 12
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),   
       'proguard-rules.pro'
    }
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
dexOptions {

}
}


dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.github.badoualy:kotlogram:0.0.6'
}

项目 build.gradel 内容

// Top-level build file where you can add configuration options common to all sub-projects/modules.

apply plugin: 'java'

sourceCompatibility = 1.7
targetCompatibility = 1.7

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

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

allprojects {
repositories {
    jcenter()
    maven { url "https://jitpack.io" }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

【问题讨论】:

  • 将此添加到您的 gradle 并清理并重建您的项目.. 在依赖部分之上。
    存储库 { maven { url "jitpack.io" } }
  • 我在这篇文章中展示了我的 app build.gradel 内容。我也忘记展示项目 build.gradel 了。当然我已经添加了这个存储库。我已经在项目 build.gradel 中添加了这个存储库。我没有编译错误。当我想调试或运行项目时会发生此错误
  • 我看到了这个链接“Bad class file magic or version”。但这对我没有帮助
  • 谁能帮助我?我必须解决这个错误

标签: java android telegram


【解决方案1】:

最后我下载了存储库并将其模块手动添加到 android 项目并找到问题。

只有 java 8 可以正确编译和运行这些模块。他们使用了一些在 java 8 中定义但在 java 7 中没有定义的特殊方法。java 7 无法编译它们。

通过查看refrence,android 项目需要 java 7 才能编译和运行。

在android项目中使用Kotlogram似乎是不可能的。

【讨论】:

  • 这不是真的。启用 Jack 后,Java 8 与 Android 完美配合。
  • 杰克是什么意思?
  • 请提供一些链接,以了解有关在 android 中使用 java 8 的更多信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多