はじめに。まとめ
本投稿は、「失敗」の記録です。この通りに実践しても目的は達成できませんでしたこと、予め申し上げます><。
- zxing を AndroidStudio でライブラリとして使用したかった。
- Android Studio に、zxing をプロジェクトとして import しようとして失敗した。
- 結果、別のプロジェクトで zxing をモジュール(ライブラリ)としてインポートすることもできなかった。
- 本投稿では扱っていないが、journeyapps/zxing-android-embedded を使用すれば目的が達成できると思う。
- 本投稿では扱っていないが、zxing の GitHub に Android アプリでの利用ソースがあり、たとえば zxing/android/src/com/google/zxing/client/android at master · zxing/zxing 。これを解析すれば利用方法がわかるのではないか。
失敗はしたものの、何を行った結果であったのか、記録を残しておきますの。。。
zxing の入手
- AndroidStudioProjects ディレクトリに移動
$ cd ~/AndroidStudioProjects
- git clone でダウンロードする。URL は、GitHub の zxing/zxing ページの右メニューにある「HTTPS clone URL」から。
$ git clone https://github.com/zxing/zxing.git Cloning into 'zxing'... remote: Counting objects: 56595, done. remote: Compressing objects: 100% (16/16), done. remote: Total 56595 (delta 6), reused 0 (delta 0), pack-reused 56578 Receiving objects: 100% (56595/56595), 233.60 MiB | 776.00 KiB/s, done. Resolving deltas: 100% (31645/31645), done. Checking connectivity... done. Checking out files: 100% (3011/3011), done. $
Android Studio にプロジェクトとして zxing をインポート
- Android Studio を起ち上げ、開いているプロジェクトを File > Close Project ですべて閉じ、Welcome to Andorid Studio ウインドウを開く
- Import project (Ecoipse ADT, Gradle, etc…)
- ダウンロードした zxing ディレクトリを選び、OK
- Import Project ウインドウ。Create project from existing sources とチェックし(デフォルトのまま)、Next
- Project name: zxing、Project location: ~/AndroidStudioProjects/zxing、とデフォルトのまま、Next
- Source files for your project have been found. …略… ではデフォルトのすべてにチェックが入った状態のまま、Next
- Prease review libraries found. …略… では、何もせず、Next
- Please review suggested module structure for the project. …略… では、何もせず、Next
- Please select project SDK. …略… では、何もせず 1.7 のまま、Next
- Several frameworks are detected in the project. …略… では、何もせず、Finish
zxing を Gralde で扱えるようにする。→ できなかった><。
開いた zxing プロジェクトを見ると、アラートが出ておりました。ウインドウ下辺の Event Log からも確認できましたの。
17:30:10 Migrate Project to Gradle?
This project does not use the Gradle build system. We recommend that you migrate to using the Gradle build system.
More Information about migrating to Gradle
Don’t show this message again.
17:30:11 Unregistered VCS root detected
The directory /Users/okitsuatsushi/AndroidStudioProjects/zxing is under Git, but is not registered in the Settings.
Add root Configure Ignore
17:30:15 Non-managed pom.xml file found:
/Users/username/AndroidStudioProjects/zxing/pom.xml
Add as Maven Project or Disable notification (show balloon)
よく理解はできておりませんけれども、「Non-managed pom.xml file found: …」に対して、「Add as Maven Project」をクリックして対応いたしました。
すると、Background Tasks として Downloading plugins for ZXing zxing … が動きました。プログレスバーが一度半分くらいで止まったものの、1 時間位で完了した。
しかしながら結局、肝心要のzxing を Gralde で扱えるようにはできませんでした><。。。
任意のプロジェクトに zxing をライブラリとしてインポートする
一旦諦めて、別のプロジェクトに zxing をライブラリとしてインポートできないかどうか試してみました。
- Android Studio で任意のプロジェクトを作成する。今回、SampleZxing とした。
- File > New > Import Module…
- Source directory にダウンロードした zxing ディレクトリを指定
ところが予想通り「Specify location of the Gradle or Android Eclipse project」となり、インポートできませんでした><。
今回のやり方では失敗です><。
やはりまず、zxing を Android Studio のプロジェクトとして認識させる必要がありますわね。
おわりに
zxing を Android Studio で使おうとすると、サンプルはあるのですけれども少し古く、Android Studio での例ではございませんでしたの。。。
jar の提供も、GitHub を探してみましたけれども、なさそうでした。作り方も良く分かりませんの><。
zxing を Android に最適化したものとして、次のものが良さそうですの。使い方も、簡単にコーディングでるようになされているようですわ♪
使い方は、次の検索結果から勉強すれば良さそうですの。
今回、失敗でした><。けれども、手を動かすうちに最初のまとめにも記しました、journeyapps/zxing-android-embedded を使う方法、zxing のサンプルソースを解析する方法、と次の打つ手が見つかりました♪
もう少しチャレンジしてみますわ!
以上です。