2015/06/30

[nfc]NfcPcdをAndroidStudio用に作り直す

コメントで、NfcPcdがビルドできない、というご連絡をいただく。
うーん、もう4年も前なのか・・・。

当時はEclipseだったし、Java6だったし、とりあえず今の私には記憶がないので、AndroidStudioにインポートすることにした。
そのAndroidStudioもいつの間にかバージョンが上がってて、今は1.2とかなんですかね。
1.3のベータがあるよという通知も来ていたけど、もうよくわからないので1.2のzipを落としてきて、上書き。
そうすると「バージョンが複数あるけん起動せん」とか言われたので、元のを消して新規に解凍。

ここでまた、JARだのAARだのとわからないことだらけになってきた。
AndroidStudioでつらいのは、build.gradleというファイルを手で書き直す場合があることだ。
たぶん、普通にアプリを作る分には何もしなくてよいのだろうけど、過去の資産を持ってきたりするとつらそうな感じがある。
特に今回みたいに「ビルドできるかどうか確認したいだけ」というときなんかは、腹が立ってしまう。
年寄りは前頭葉が弱ってくることで怒りっぽくなるというが、もしかしたらそのせいかもしれない。

今回は、こんな感じのことをやってビルドできた。

  • 新規でアプリプロジェクトを作る
  • New Moduleで、インポートを選び、NfcPcdのライブラリプロジェクトをインポート
  • NfcPcdでproguardを使っていたためか、proguardにJARがいるとか何とかいわれているので、proguard設定ファイルを削除
  • Project StructureでアプリのプロジェクトのDependenciesにNfcPcdをModule Dependencyとして追加。ScopeはCompileのままでよいみたい
  • アプリの方に、以前作っていたサンプルソースを移植。元々はこれもインポートで済ませたかったのだが、ファイルの置き方が変だったのかうまくいかなかったので、手で移植した。

どうも、以前作ったものからのインポートがよくわかってない。
あれこれ試しているとき、「ライブラリにアプリケーションIDが付いている」と怒られたり、JARとして使おうとしたとき、apply pluginがlibraryじゃなくてapplicationになっていたり。

 

とりあえず、うちのNexus5で動いたので、githubに置いた。
もう、ライブラリ化はやめた。。。
死蔵するくらいなら、誰かに使ってもらった方がよいだろう。
git@github.com:hirokuma/NfcPcdStudio.git

3 件のコメント:

  1. はじめまして。
    当ブログを参考にさせて頂き、Androidタブレットによる外付けカードリーダーの認識をしようと思っております。
    AndroidStudio用のプロジェクトを利用させて頂き、動作確認をしてみました。
    使用機器は、Nexus7(2013)(バージョン5.0.2)、RC-S380です。
    その結果、USBデバイスの情報はしっかり取れているので接続はできているのですが、その後の初期設定をリーダーへ渡す時のBulkTransfer(sendCmdメソッド)の応答が上手く返ってこないようです。(BulkTransferのリターン値が、送信時は送信バイト数、受信時は-1となってしまいます)
    そういったケースに陥ったことがあれば、ご教授頂けると助かります。

    返信削除
    返信
    1. すみません、このPaSoRiは「RC-S370」を使っています。
      RC-S380はプロトコルが異なるのだと思われます。

      もし動かしたいのであれば、nfcpyがRC-S380に対応しているようなので、そのどうさを参照されるとよいかもしれません(私はやっていません)。
      https://launchpad.net/nfcpy

      削除
    2. 早速の返信、ありがとうございます。
      やはりRC-S370と380で動作が微妙に違うのですね。

      nfcpyを使用する方面で改めて調べてみます。
      ご教授頂き、ありがとうございます!

      削除

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。