LoginSignup
98

More than 5 years have passed since last update.

Android Studioで *.jar, *.soを追加する

Last updated at Posted at 2014-12-09

Android Studio 1.0 (以下AS)がリリースされた。と同時に eclipse ADT pluginのフェードアウトも発表されたため、今後の開発は ASに軸足を移していく必要がある。

一応 eclipseからのプロジェクトのインポート機能も用意されてはいるが、eclipseで安定して開発できているものを今から変更するのはあまり意味が無い気がするし、そもそも依存関係のあるプロジェクトの移行には弱いという印象がある。新しいプロジェクトだけ ASで開発していけば自分の作業環境としては問題がない。

今回は OCRライブラリの評価を進めるため、eclipseで作ったライブラリ(jar, so)を ASで再利用するための方法を調べた。

参考したのは http://tondol.hatenablog.jp/entry/20130521/1369111104 。ただ開発中バージョンに基づいた記事のため、現在では通じない記述があった。

手順

jar, soの用意

まず eclipseで作った tess-two, eyes-twoの jarファイルと共有ライブラリをひとまとめにした。必須の作業ではないが、色々なプロジェクトで使い回したいため。

  • 共有ライブラリ(*.so)は jniLibsに
  • jarは libsに

それぞれまとめておくといい。

fig0.png

プロジェクトを作る

ASを立ち上げて新規プロジェクトを作る。Wizardの質問には適当に答えて空の MainActivityが作られればいい。

fig2.png

ライブラリ(*.jar)の追加

先ほどまとめておいたjarを libsの下へ Copy & Pasteする。 Drag & Dropするとコピーでなく移動してしまうので注意。

fig3.png

tess-two.jarに対して右クリック → Add as Libraryを行う。なんでかよく分からないが libsに入っている他のjarも同時に処理されるっぽい。

fig4.png

次に appの build.gradleを編集する。

build.gradle編集前
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.2'
    compile files('libs/tess-two.jar')
}

compileの3行目が必要ない。2つ上の行の記述だけで充分。

build.gradle編集後
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.2'
}

これで jarファイルはプロジェクトに組み込まれた。

共有ライブラリ (*.so)の追加

共有ライブラリは app/src/main/jniLibsディレクトリを作り、そこに各プラットフォームのディレクトリと共有ライブラリを置いていく。

fig5.png

こちらはファイルを置くだけで設定することはない。ライブラリの置き場所は変更可能 (参照 : http://vividcode.hatenablog.com/entry/android-app/gradle-jnilibs)

実験: OCR

先日作った OCRのテストプロジェクトを ASで作りなおしてみた。

fig6.png

Jolly good.

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
98