2016-04-03 4 views
0

私はApache FlinkをAndroidに移植しようとしています。最大の問題の1つは、Android用のJavaツールは存在しないが、これらの競合はコンパイル時に検出されず、エラー(NoClassDefFoundError excpetion)は実行時にのみ検出されるということです。例えばIntellij IDEAまたはAndroid Studioで未解決のライブラリを検索するにはどうすればよいですか?

、JavaのManagementFactoryは、Androidのために存在しませんが、何のコンパイルエラーがthisクラスで、特に未解決のシンボル/ライブラリがある場合にもスローされません:私は含まれ、今

import javax.management.MBeanServer; 

import java.lang.management.BufferPoolMXBean; 
import java.lang.management.GarbageCollectorMXBean; 
import java.lang.management.ManagementFactory; 
import java.lang.management.MemoryMXBean; 
import java.lang.management.MemoryPoolMXBean; 
import java.lang.management.MemoryType; 
import java.lang.management.MemoryUsage; 

FLINKさんAndroid Studioプロジェクトでjar(flink-clients、flink-java、flink-runtime、flink-streaming)を使用しています。これらの種類の未解決の依存関係をすべて検索して、実行時にこれらの例外を回避したいと考えています。この目的のAndroidスタジオツールはありますか?

+0

-infoをビルドします。これは、反映方法に関するメッセージを表示します。 –

+0

あなたのコメントの後に '-info'を追加しましたが、有用な情報は返されません。 – justHelloWorld

+0

あなたはそれがアンドロイドプロジェクトだと確信していますか? –

答えて

0

私は、プロジェクト内のjar依存関係を含めて、Android Studioとコンパイラが、すでに構築されたjarの欠落しているクラスを検索することはできないと思います。あなたのプロジェクトにflinkのsrcを含めるようにしてください。私はそれを試み、未解決の輸入品は全て赤くしていました。

+0

これは解決策かもしれませんが、未解決のライブラリに依存するflink srcで使用される第三者ライブラリがある場合はどうなりますか? – justHelloWorld

+0

私はあなたがそれらを見つけてsrcとしても含めなければならないと思います。アンドロイド用のJavaは通常のJavaとは少し異なります。これらのサードパーティライブラリにはSDKにないクラスも含まれている可能性があります。 – thekekc

+0

私はそれが地球上の地獄の唯一の解決だと思います。 – justHelloWorld