2016-05-05 4 views
1

私のアンドロイドプロジェクトにKotlogram libraryを使用します。アンドロイドプロジェクトでKotlogramライブラリを使用

私はJava 7(jdk1.7.0_79)を使用しています。私はプロジェクトをデバッグしたり、実行したいときには、このエラーが起こっている:

UNEXPECTED TOP-LEVEL例外: 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) at com.android.dx.command.dexer.Main $ FileBytesConsumer.processFileBytes(Main.java:1645) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java :284) 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) (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:悪質なクラスファイルのマジック(cafebabe)またはバージョン0034.0000) at com.andr oid.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472) (com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) 、com.android.dx.cf) (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) at com.android.dx.command.dexer.Main.processClass(Main.java:749) ... 12 more 1エラー;中止 FAILED

FAILURE:例外が発生してビルドに失敗しました。

何が問題になりましたか: ':app:transformClassesWithDexForDebug'タスクの実行に失敗しました。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:プロセス 'コマンド' C:\ Program Files \ Java \ jdk1.7.0_79 \ bin \ java.exe ''で終了しました。 -zero終了値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 
} 
+0

これをあなたのgradleに追加して、あなたのプロジェクトをきれいにして、依存関係の上にビルドしてください。
リポジトリ{ Mavenの{URL "https://jitpack.io"}} –

+0

[悪いクラスファイルの魔法またはバージョン]の可能な重複(http://stackoverflow.com/questions/24662801/bad-class-file -magic-or-version) – Aiuspaktyn

+0

私は、この投稿の私のアプリbuild.gradelの内容を表示します。私はプロジェクトbuild.gradelも表示することを忘れています。 ofcourse私はこのリポジトリを追加しました。このビルドをプロジェクトbuild.gradelに追加しました。私はコンパイルエラーがありません。このエラーは、私がプロジェクトをデバッグまたは実行したいときに発生します –

答えて

-1

最終的に私はリポジトリをダウンロードして、アンドロイドのプロジェクトに手動でモジュールを追加問題を見つける。

java 8はこれらのmoudelを正しくコンパイルして実行できます。彼らはjava 8で定義されているがJava 7では定義されていない特別なメソッドを使用します。java 7はそれらをコンパイルできません。

このrefrenceを見ると、アンドロイドプロジェクトはコンパイルと実行のためにJava 7が必要です。

アンドロイドプロジェクトのKotlogramを使用していると思われます。

+0

それは当てはまりません。ジャックが有効になっていると、Java 8はAndroidと完全に正常に動作します。 – afollestad

+0

は、Androidでjava8を使用することができれば非常に良いです。 –

+0

ジャックについてどういう意味ですか? –

関連する問題