[英]Using Kotlogram library in android project
我想在我的Android項目中使用Kotlogram庫 。
我正在使用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.c 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錯誤; 失敗失敗
失敗:構建失敗,發生異常。
出了什么問題:任務':app:transformClassesWithDexForDebug'的執行失敗。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:進程'命令'C:\\ Program Files \\ Java \\ jdk1.7.0_79 \\ bin \\ java.exe”的完成非零退出值1
應用程序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
}
最后,我下載了存儲庫,並將其模塊手動添加到android項目中,並找到了問題。
只有Java 8才能正確編譯和運行這些模塊。 它們使用Java 8中定義的某些特殊方法,但未在Java 7中定義。Java 7無法編譯它們。
通過查看此引用 ,android項目需要Java 7進行編譯和運行。
似乎無法在Android項目中使用Kotlogram。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.