Androidプロジェクトを作成し、そのプロジェクトに外部JAR(hessian-4.0.1.jar)を追加しました。その後、JARをビルドパスに追加し、Order and Exportでチェックしました。
Order and Exportは無視されますが、外部JARからのすべてのクラスは実行時に欠落しています。
Eclipseプラグインを使用してAndroidアプリケーションを構築するときに、外部JARから必要なクラスを適切に組み込むためのトリックはありますか?私はantやMavenを使いたくありません。
Eclipseの場合
Androidプロジェクトまたは任意のJavaプロジェクトに外部JARを追加するための良い方法は次のとおりです。
libs
という名前のフォルダを作成します。libs
フォルダにコピーします今すぐJarファイルを右クリックしてからビルドパス>ビルドパスに追加を選択すると、プロジェクト内に「参照ライブラリ」というフォルダが作成されます。
こうすることで、プロジェクトを別のコンピュータに転送するたびに、ハードドライブで参照されているライブラリを失うことはありません。
Android Studioの場合
注意してください。サードパーティのライブラリを使用している場合は、Gradleスクリプトが自動的にJARファイルをダウンロードする推移的な依存関係を使用することをお勧めします。 gradleスクリプト実行時の依存関係JAR.
例: 'com.google.Android.gms:play-services-ads:9.4.0'をコンパイルします
Gradle Dependency Mangement についてもっと読む
はい、使えます。方法は次のとおりです。
この ビデオ は問題がある場合に便利です。
私はOPがEclipseプラグインに関して彼の質問を終えることを知っています、しかし私はEclipseを指定しない検索でここに到着しました。だからここにAndroidのスタジオのために行きます:
jar
ファイルを追加します(copy/pasteなど)jar
ファイルを右クリックして「ライブラリとして追加...」を選択します。それでおしまい!
私は現在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プロジェクトでは正常に機能します。
現在のプロジェクトへ
RightClick - >プロパティ - > Javaビルドパス - >ライブラリへのJarファイルの追加 - > OKをクリック
それが現在のプロジェクトの参照ライブラリファイルに追加されます。
Android Studioを使用している場合は、次の手順を実行します(@Vinayak Bs回答をコピーして変更しました)。
- プロジェクトサイドビューで(PackagesまたはAndroidの代わりに)Projectビューを選択します。
- プロジェクトのルートフォルダにlibsという名前のフォルダを作成します。
- JARファイルをlibsフォルダにコピーします
- サイドビューが更新され、JARファイルがプロジェクトに表示されます。
- インポートしたい各JARファイルを右クリックして「ライブラリとして追加...」を選択します。これでプロジェクトに含まれます。
- その後、あなたがする必要があるのはあなたのコードで新しいクラスを参照することだけです。
import javax.mail.*
AndroidのJava APIは、javax.naming。*や他の多くのjavax。*ものをサポートしていません。依存関係を別々のjarとして含める必要があります。
gradleを使用している場合はAndroidスタジオで
これをbuild.gradleに追加します
compile fileTree(dir: 'libs', include: ['*.jar'])
そしてjarファイルをlibsフォルダーに追加します
gradleビルドシステムを使用している場合は、次の手順に従います。
あなたのAndroidアプリのそれぞれのjar
フォルダ内にlibs
ファイルを置きます。通常はProject
> app
> libs
にあります。 libs
フォルダーが見つからない場合は、作成してください。
これをあなたのbuild.gradle
ファイルあなたのapp
に追加してください。 (Project
のbuild.gradle
には関係ありません)
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
// other dependencies
}
これには、jar
フォルダにあるすべてのlibs
ファイルが含まれます。
すべてのjar
ファイルを含めたくない場合は、個別に追加できます。
compile fileTree(dir: 'libs', include: 'file.jar')
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に追加します。
プロジェクト内に(libのような)フォルダを作成し、jarをそのフォルダにコピーしますプロジェクトを右クリックしてビルドパスの設定に移動し、そこにビルドパスを選択します。
'jarを追加'作成したフォルダを参照しますおよび jarを選びます。