web-dev-qa-db-ja.com

Androidプロジェクトで外部JARを使用する方法

Androidプロジェクトを作成し、そのプロジェクトに外部JAR(hessian-4.0.1.jar)を追加しました。その後、JARをビルドパスに追加し、Order and Exportでチェックしました。

Order and Exportは無視されますが、外部JARからのすべてのクラスは実行時に欠落しています。

Eclipseプラグインを使用してAndroidアプリケーションを構築するときに、外部JARから必要なクラスを適切に組み込むためのトリックはありますか?私はantやMavenを使いたくありません。

323
Fredrik Olsson

Eclipseの場合

Androidプロジェクトまたは任意のJavaプロジェクトに外部JARを追加するための良い方法は次のとおりです。

  1. プロジェクトのルートフォルダにlibsという名前のフォルダを作成します。
  2. JARファイルをlibsフォルダにコピーします
  3. 今すぐJarファイルを右クリックしてからビルドパス>ビルドパスに追加を選択すると、プロジェクト内に「参照ライブラリ」というフォルダが作成されます。

    こうすることで、プロジェクトを別のコンピュータに転送するたびに、ハードドライブで参照されているライブラリを失うことはありません。

Android Studioの場合

  1. プロジェクトエクスプローラでAndroidビューにいる場合は、以下のようにプロジェクトビューに変更します。

Missing Image

  1. 外部ライブラリを追加したいモジュールを右クリックしてから、新規> Directroyを選択し、 'libs'と名前を付けます。
  2. では、blah_blah.jarを 'libs'フォルダにコピーしてください。
  3. Blah_blah.jarを右クリックして、「ライブラリとして追加..」を選択します。これは自動的にbuild.gradleファイルをコンパイルする( 'libs/blah_blah.jar')として追加してエントリーを同期します。そして、あなたは終わりました

注意してください。サードパーティのライブラリを使用している場合は、Gradleスクリプトが自動的にJARファイルをダウンロードする推移的な依存関係を使用することをお勧めします。 gradleスクリプト実行時の依存関係JAR.

例: 'com.google.Android.gms:play-services-ads:9.4.0'をコンパイルします

Gradle Dependency Mangement についてもっと読む

440

はい、使えます。方法は次のとおりです。

  1. あなたのプロジェクト - >右クリック - >インポート - >ファイルシステム - > yourjar.jar
  2. プロジェクト - >右クリック - >プロパティ - > Javaビルドパス - >ライブラリ - > Add Jar - > yourjar.jar

この ビデオ は問題がある場合に便利です。

127
MannyNS

私はOPがEclipseプラグインに関して彼の質問を終えることを知っています、しかし私はEclipseを指定しない検索でここに到着しました。だからここにAndroidのスタジオのために行きます:

  1. Libsディレクトリにjarファイルを追加します(copy/pasteなど)
  2. jarファイルを右クリックして「ライブラリとして追加...」を選択します。
  3. 次のダイアログで[OK]をクリックするか、必要に応じて名前を変更します。

それでおしまい!

5
shanabus

私は現在SDK 20.0.3を使用していて、以前の解決策はどれも私のために働きませんでした。

Hessdroidがhessが失敗した場所で機能するのは、2つのjarファイルに異なる仮想マシン用にコンパイルされたJavaが含まれているためです。 Javaコンパイラによって作成されたバイトコードは、Dalvik仮想マシン上での実行が保証されていません。 Androidコンパイラによって作成されたバイトコードは、Java仮想マシンでの実行が保証されていません。

私の場合、私はソースコードにアクセスでき、ここで説明した方法を使用してそれ用のAndroid jarファイルを作成することができました。 https://stackoverflow.com/a/13144382/ 545064

結局のところ、私は自分のスタックトレースを十分に見ていないのですが、問題は外部JARが含まれていないということではありません。

問題は、Androidプラットフォームにjavax.naming。*や外部JARに依存する他の多くのパッケージが欠けていることです。

外部JARファイルを追加し、EclipseでOrder and Exportを設定しても、Androidプロジェクトでは正常に機能します。

4
Fredrik Olsson

現在のプロジェクトへ

RightClick - >プロパティ - > Javaビルドパス - >ライブラリへのJarファイルの追加 - > OKをクリック

それが現在のプロジェクトの参照ライブラリファイルに追加されます。

3
kalyan G

Android Studioを使用している場合は、次の手順を実行します(@Vinayak Bs回答をコピーして変更しました)。

  1. プロジェクトサイドビューで(PackagesまたはAndroidの代わりに)Projectビューを選択します。
  2. プロジェクトのルートフォルダにlibsという名前のフォルダを作成します。
  3. JARファイルをlibsフォルダにコピーします
  4. サイドビューが更新され、JARファイルがプロジェクトに表示されます。
  5. インポートしたい各JARファイルを右クリックして「ライブラリとして追加...」を選択します。これでプロジェクトに含まれます。
  6. その後、あなたがする必要があるのはあなたのコードで新しいクラスを参照することだけです。 import javax.mail.*
1
kumaheiyama

AndroidのJava APIは、javax.naming。*や他の多くのjavax。*ものをサポートしていません。依存関係を別々のjarとして含める必要があります。

1
Rodrigo

gradleを使用している場合はAndroidスタジオで

これをbuild.gradleに追加します

compile fileTree(dir: 'libs', include: ['*.jar'])

そしてjarファイルをlibsフォルダーに追加します

1
g_vk

gradleビルドシステムを使用している場合は、次の手順に従います。

  1. あなたのAndroidアプリのそれぞれのjarフォルダ内にlibsファイルを置きます。通常はProject> app> libsにあります。 libsフォルダーが見つからない場合は、作成してください。

  2. これをあなたのbuild.gradleファイルあなたのappに追加してください。 (Projectbuild.gradleには関係ありません)

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        // other dependencies
    }
    

    これには、jarフォルダにあるすべてのlibsファイルが含まれます。

すべてのjarファイルを含めたくない場合は、個別に追加できます。

compile fileTree(dir: 'libs', include: 'file.jar')

1
Rohit Arya

Androidプロジェクトのフォルダーに.jarファイルをコピーすることは、常に可能というわけではありません。
特に、ワークスペース内の別のプロジェクトの出力であり、それが更新され続けている場合は特にそうです。

これを解決するには、インポートする代わりにjarをプロジェクトにリンクファイルとして追加する必要があります(ローカルにコピーされます)。

UIで以下を選択してください。

「プロジェクト」 - >「インポート」 - >「ファイルシステム」 - >「yourjar.jar」 - >(オプション領域)「詳細」 - >「ワークスペース内にリンクを作成」

リンクは。projectファイルに保存されます。

<linkedResources>
    <link>
        <name>yourjar.jar</name>
        <type>1</type>
        <locationURI>PARENT-5-PROJECT_LOC/bin/Android_ndk10d_armeabi-v7a/yourjar.jar</locationURI>
    </link>
</linkedResources>

PARENT-5-PROJECT_LOCは、プロジェクトファイルから5ディレクトリ上(../../../../../)を意味します。

それをライブラリに追加します。
プロジェクト - >プロパティ - > Javaビルドパス - >ライブラリ - > Add Jar - > yourjar.jar

同じウィンドウで注文とエクスポートタブを選択してjarファイルをマークし、apkに追加します。

0
Yochai Timmer

プロジェクト内に(libのような)フォルダを作成しjarをそのフォルダにコピーしますプロジェクトを右クリックしてビルドパスの設定に移動し、そこにビルドパスを選択します。

'jarを追加'作成したフォルダを参照しますおよび jarを選びます

0
sharma_kunal