

android studio でmicrosoft Translator
APIを使用したいと思っています．そこで作成したプロジェクトにこのAPIのインポートを試みるのですがうまくいきません．ご教示お願いします．

・環境Android Studio1.5

まず，自分で試みた方法として，

  1. 新しいプロジェクトとしてTestプロジェクトを作成．
  2. ダウンロードしておいたmicrosoft Translator APIをjarファイルにしTest/app/libsに入れる．
  3. プロジェクト内でlibs/microsoft_Translator.jarを右クリックでAdd As Libraryを選択．Add to moduleでappを選択してok．

これでライブラリ関数として読み込んだと思い実装できると思ったのですが，importをしてみると画像のようにエラーが出ます．図1

図1  
[![結果](https://i.stack.imgur.com/tlary.png)](https://i.stack.imgur.com/tlary.png)  
このエラーから，ライブラリの方のjavaファイルの方に画像のようなエラーが出ているのを発見したのですが...図2

図2  
[![結果2](https://i.stack.imgur.com/n0Xwr.png)](https://i.stack.imgur.com/n0Xwr.png)

再ビルドを行ってもエラーは消えませんでした．ライブラリのインポートの方法に問題があったのでしょうか，どのようにすればこの問題を改善することができるのかご教示お願いします．


CC BY-SA 3.0
2016-02-10T12:51:50.043
21950
2016-06-02T21:50:34.193
2016-02-10T14:05:06.957
76
14362
question
android android-studio
android studioでライブラリのimportができません


そのライブラリが依存しているjson-simpleというライブラリがインポートされていないことが原因です。

GitHubに依存するライブラリを含んだjarファイルがあるのでそちらを使えば解決します。  
<https://github.com/boatmeme/microsoft-translator-java-api>

jarファイルを組み込むのではなく、app/build.gradleのdependenciesに追加する形でもいけると思います。

[code]

    dependencies {
        compile 'com.memetix:microsoft-translator-java-api:0.6.2'
    }
    
[/code]


CC BY-SA 3.0
2016-02-11T01:43:40.050
21959
2016-02-11T01:43:40.050
9498
21950
answer


少なくとも問題は2点あります。

  * 図1の問題 - 『 _ダウンロードしておいたmicrosoft Translator APIをjarファイルにし_ 』で作成したjarが適切でない。クラスパスの通ったところに当APIのクラスが配置されていない。
  * 図2の問題 - 当APIが使用している別のライブラリが不足している。

面倒なことはすっ飛ばしてとにかく使えるようにしたい、ということであれば、現在importしようとしているjarファイルを取り除いたうえで、以下のA,B案いずれか片方を実行することでエラーは解消できるかと思います。

A案:
[ライブラリ依存関係解決はgradleに任せ](https://ja.stackoverflow.com/a/21959/2808)、自分でjarファイルをダウンロードしない。  
B案: 自分でjarファイルを作成するのではなく、事前に提供されている依存ライブラリ込みのjarファイルを用いる。 - [microsoft-
translator-java-api-0.6.2-jar-with-
dependencies.jar](https://code.google.com/archive/p/microsoft-translator-java-
api/downloads)

* * *

図1の問題については、『 _ダウンロードしておいたmicrosoft Translator APIをjarファイルにし_
』の手順で、どこからファイルをダウンロードしてどうやってjarファイルにしたのか詳細が分からないのでなんとも言えませんが、キャプチャを見る限り、jarファイルの中で`META-
INF`ディレクトリと同階層に`microsoft-transfer-java-
api`ディレクトリがあるのに違和感があります(今回の場合通常は`com`ディレクトリになるはず)。  
おそらくマニフェストファイルに[`Class-
Path`属性](http://docs.oracle.com/javase/jp/8/docs/technotes/guides/jar/jar.html#classpath)が明示されていないのではないでしょうか。  
(この点を解決したいと考えているのであれば、実行した手順の詳細を質問文に追記してください。)

図2の問題については、依存ライブラリを別途ダウンロードし、それもプロジェクトにimportする必要があります。


CC BY-SA 3.0
2016-02-11T06:48:25.850
21969
2016-02-11T06:48:25.850
2017-04-13T12:52:38.920
-1
2808
21950
answer