2016-04-16 11 views
0

ファイルからJSONオブジェクトを作成して読み込むためにIntelliJにgradle Javaプロジェクトを作成しました。 2つのコスチューム例外クラスも含まれています。現在働いているアンドロイド用のlibgdxゲームプロジェクトにはこれが必要です。衣装jarライブラリで例外クラスを解決できない

コードで予想される例外が発生すると、次のエラーが発生しました。

unable to resolve exception class 1498 (Lparohylib/jsonfile/input/JSONFileReaderException;) 

私はいくつかのトピックとヒントを見てこの問題を尋ねましたが、これまで解決策を見つけることができませんでした。私は私のプロジェクトで自分のlibクラスを作成することでこれを解決できると思うが、それは衣装jarライブラリ(第三者lib)をインポートするためのきれいな方法がない限り、やりたいことではない。私がこれまで試したどのような

1)は、コアモジュールにlibフォルダを作成したjarファイルをコピーし、それがプロジェクトの構造 - >コア - >の依存性トラフ追加しました。
2)jarファイルを右クリックし、ライブラリ
3)アンドロイドモジュールの同じを完了として追加をクリック、しかしそこに私はGradleの同期ここ

後、いくつかの解析エラーの例外を得たが、完全なログです:

04-16 22:02:28.808 15451-15480/parohyapp.mario W/dalvikvm: VFY: unable to resolve exception class 1498 (Lparohylib/jsonfile/input/JSONFileReaderException;) 
04-16 22:02:28.808 15451-15480/parohyapp.mario W/dalvikvm: VFY: unable to find exception handler at addr 0xa 
04-16 22:02:28.808 15451-15480/parohyapp.mario W/dalvikvm: VFY: rejected Lparohyapp/mario/tools/data/GameProgress;.<init>()V 
04-16 22:02:28.808 15451-15480/parohyapp.mario W/dalvikvm: VFY: rejecting opcode 0x0d at 0x000a 
04-16 22:02:28.808 15451-15480/parohyapp.mario W/dalvikvm: VFY: rejected Lparohyapp/mario/tools/data/GameProgress;.<init>()V 
04-16 22:02:28.808 15451-15480/parohyapp.mario W/dalvikvm: Verifier rejected class Lparohyapp/mario/tools/data/GameProgress; 
04-16 22:02:28.847 15451-15480/parohyapp.mario W/dalvikvm: threadid=11: thread exiting with uncaught exception (group=0x40bd11f8) 
04-16 22:02:28.855 15451-15480/parohyapp.mario E/AndroidRuntime: FATAL EXCEPTION: GLThread 26034 java.lang.VerifyError: parohyapp/mario/tools/data/GameProgress 
     at parohyapp.mario.GameMaster.<init>(GameMaster.java:57) 
     at parohyapp.mario.screens.PlayScreen.<init>(PlayScreen.java:44) 
     at parohyapp.mario.screens.ScreenManager.getScreen(ScreenManager.java:36) 
     at parohyapp.mario.screens.ScreenManager.setCurrentScreen(ScreenManager.java:28) 
     at parohyapp.mario.screens.MenuScreen.changeScreen(MenuScreen.java:112) 
     at parohyapp.mario.screens.MenuScreen.access$000(MenuScreen.java:27) 
     at parohyapp.mario.screens.MenuScreen$1.changed(MenuScreen.java:99) 
     at com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.handle(ChangeListener.java:28) 
     at com.badlogic.gdx.scenes.scene2d.Actor.notify(Actor.java:181) 
     at com.badlogic.gdx.scenes.scene2d.Actor.fire(Actor.java:146) 
     at com.badlogic.gdx.scenes.scene2d.ui.Button.setChecked(Button.java:123) 
     at com.badlogic.gdx.scenes.scene2d.ui.Button$1.clicked(Button.java:91) 
     at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:89) 
     at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:58) 
     at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:353) 
     at com.badlogic.gdx.backends.android.AndroidInput.processEvents(AndroidInput.java:379) 
     at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:472) 
     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1462) 
     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216) 

4)は、すべてのGradleの変更を差し戻し、それは構造 - >コア - >の依存性は、以下の例外だ谷を追加しました:

FATAL EXCEPTION: GLThread 26106 java.lang.NoClassDefFoundError: parohylib.jsonfile.input.JSONFileReader 
    at parohyapp.mario.tools.data.GameProgress.loadData(GameProgress.java:94) 
    at parohyapp.mario.tools.data.GameProgress.<init>(GameProgress.java:31) 
    at parohyapp.mario.GameMaster.<init>(GameMaster.java:57) 
    at parohyapp.mario.screens.PlayScreen.<init>(PlayScreen.java:44) 
    at parohyapp.mario.screens.ScreenManager.getScreen(ScreenManager.java:36) 
    at parohyapp.mario.screens.ScreenManager.setCurrentScreen(ScreenManager.java:28) 
    at parohyapp.mario.screens.MenuScreen.changeScreen(MenuScreen.java:112) 
    at parohyapp.mario.screens.MenuScreen.access$000(MenuScreen.java:27) 
    at parohyapp.mario.screens.MenuScreen$1.changed(MenuScreen.java:99) 
    at com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.handle(ChangeListener.java:28) 
    at com.badlogic.gdx.scenes.scene2d.Actor.notify(Actor.java:181) 
    at com.badlogic.gdx.scenes.scene2d.Actor.fire(Actor.java:146) 
    at com.badlogic.gdx.scenes.scene2d.ui.Button.setChecked(Button.java:123) 
    at com.badlogic.gdx.scenes.scene2d.ui.Button$1.clicked(Button.java:91) 
    at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:89) 
    at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:58) 
    at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:353) 
    at com.badlogic.gdx.backends.android.AndroidInput.processEvents(AndroidInput.java:379) 
    at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:472) 
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1462) 
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216) 
を0

私はすでに何をしたのかというだけで、あなたが必要とするものを尋ねるだけで、ここに何を投稿すればいいのかわかりません。

EDIT-1: 5)jarファイルから新しいモジュールを作成し、それをgraddle buildに追加しました。私はそうのように私のプロジェクトにtween engine jarファイルを追加

Error:com.android.dx.cf.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) 
Error:Execution failed for task ':android:transformClassesWithDexForDebug'. 
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'' finished with non-zero exit value 1 
+0

gradle.buildのjarファイルへのパスで 'fileTree'をコンパイルしましたか? – Enigo

+0

ええと私はそう思っています。しかし、文字通り何を意味するのかというコードの例は素晴らしいでしょう。コンパイルファイルの代わりにfileTreeでコンパイルしようとしましたが、常にNoClassDefFoundErrorがスローされます。 – parohy

+0

ちょうど興味があります、私の答えから解決策を試しましたか? – Enigo

答えて

0

ルートbuild.gradle:次のエラーを得たLIBSがのルートにフォルダをある

project(":core") { 
    apply plugin: "java" 

    dependencies { 
     compile fileTree(dir: '../libs', include: '*.jar') 
     compile "com.badlogicgames.gdx:gdx:$gdxVersion" 
     compile "com.badlogicgames.gdx:gdx-ai:$aiVersion" 
     compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" 
    } 
} 

project(":android") { 
    apply plugin: "android" 

    configurations { natives } 

    dependencies { 
     compile project(":core") 
     compile fileTree(dir: '../libs', include: '*.jar') 
     compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" 
     natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" 
     natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a" 
     ...... 
    } 
} 

プロジェクト。

そして、私はモジュール設定 - >ライブラリでもそのジャーを追加したと思います。

関連する問題