简体   繁体   English

在Android项目中使用Kotlogram库

[英]Using Kotlogram library in android project

I want to use Kotlogram library in my android project. 我想在我的Android项目中使用Kotlogram库

Im using java 7 (jdk1.7.0_79). 我正在使用Java 7(jdk1.7.0_79)。 but when I want to debug or run the project, this error is happened: 但是当我想调试或运行项目时,会发生此错误:

UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.RuntimeException: Exception parsing classes at com.android.dx.command.dexer.Main.processClass(Main.java:752) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:718) at com.android.dx.command.dexer.Main.access$1200(Main.java:85) at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) at com.android.dx.command.dexer.Main.processOne(Main.java:672) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) at com.android.dx.command.dexer.Main.run(Main.java:277) at com.android.dx.command.dexer.Main.main(Main.java:245) at com.android.dx.command.Main.main(Main.java:106) Caused by: com.android.dx.c 异常的最高级别异常: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.c f.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472) at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388) at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251) at com.android.dx.command.dexer.Main.parseClass(Main.java:764) at com.android.dx.command.dexer.Main.access$1500(Main.java:85) at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684) at com.android.dx.command.dexer.Main.processClass(Main.java:749) ... 12 more 1 error; f.iface.ParseException:com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)上的com.android.dx.cf.direct上的类文件魔术错误(cafebabe)或版本(0034.0000) 。 com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)的com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:的DirectClassFile.parse(DirectClassFile.java:406) 251)在com.android.dx.command.dexer.Main.parseClass(Main.java:764)在com.android.dx.command.dexer.Main.access $ 1500(Main.java:85)在com.android。 com.android.dx.command.dexer.Main.processClass(Main.java:749)上的dx.command.dexer.Main $ ClassParserTask.call(Main.java:1684)...更多12个1错误; aborting FAILED 失败失败

FAILURE: Build failed with an exception. 失败:构建失败,发生异常。

What went wrong: Execution failed for task ':app:transformClassesWithDexForDebug'. 出了什么问题:任务':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'' finished with non-zero exit value 1 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\\ Program Files \\ Java \\ jdk1.7.0_79 \\ bin \\ java.exe”的完成非零退出值1

app build.gradel content: 应用程序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'
}

project build.gradel content 项目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
}

finally i download the repository and add its module manually to the android project and find the problem. 最后,我下载了存储库,并将其模块手动添加到android项目中,并找到了问题。

only java 8 can compile and run these moudels correctly. 只有Java 8才能正确编译和运行这些模块。 they use some special method that are defined in java 8 but not in java 7. java 7 can not compile them. 它们使用Java 8中定义的某些特殊方法,但未在Java 7中定义。Java 7无法编译它们。

by looking at this refrence , android project need java 7 for compiling and running. 通过查看此引用 ,android项目需要Java 7进行编译和运行。

it seem that using Kotlogram in android project is impossible. 似乎无法在Android项目中使用Kotlogram。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM