0

この方法で、Android SDK プロジェクトで外部の .jar ファイルを実行しようとしています。

ProcessBuilder pb = new ProcessBuilder("java.exe", "-jar", "C:/apache-tomcat-7.0.27/BlattA/src/viewer.jar");
        Process process = pb.start();
        InputStream is = process.getInputStream();

        byte[] bytes = IOUtils.toByteArray(is);

他のJava EEプロジェクトで実行すると完全に機能しますが、Androidアプリではエラーが発生します: ここに画像の説明を入力

何が原因で、どうすれば修正できますか?

4

1 に答える 1

1

それはまったく不可能です!

Android はある種の特別な Linux であり、exe ファイルの実行などの Windows 機能をサポートしていません。Android の jar ファイルについては、他のバイトコード (dalvik VM) のホールであるため、jar ファイルをいわゆる dex ファイルに変換せずに実行することもできません。また、単純なファイル アクセスを使用して、携帯電話から PC のリソースにアクセスすることもできません。

その jar を dex したり、空中で何らかの形で grep したり、その jar をライブラリとして追加したりしても、Android では Swing やデスクトップ システムの別の一般的な UI フレームワークがないため、これは機能しません。

あなたができることは、それがオープンソースプロジェクトである場合、例えばホームページからjarファイルのソースコードを見て、それがどのように機能するかを理解することです. あなたがやりたい仕事をする新しいAndroidアプリを実装することができます。しかし、それはあなたが今考えているよりもはるかに多くの仕事です。

于 2013-06-03T13:01:17.743 に答える