[英]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.