LibJeID for Android

無償版ライブラリの制限

無償版ライブラリは以下の機能が利用できません。 それ以外は製品版と同じです。

  • マイナンバーの取得
  • 公的個人認証関連機能
  • 免許証の真正性検証
  • パスポートの真正性検証

APIレベル

LibJeIDのライブラリ自体はAPIレベル10(Android 2.3)で動作しますが、 サンプルアプリではminSdkVersion:14を指定しています。

ライブラリの導入方法

LibJeID for Androidの導入方法はmavenレポジトリを指定して利用する方法と、 ダウンロードして配置する2通りの方法があります。

サンプルアプリのビルド手順 (Linux)

1. Java開発環境のインストール

Debian/Ubuntu:

$ sudo apt install openjdk-11-jdk-headless

RHEL/CentOS:

$ sudo yum install java-11-openjdk

2. Android Studio(JDK付属)またはAndroid Command line toolsをインストール

以下はCommand line toolsのインストール手順です

Command line toolsを以下からダウンロードします。

https://developer.android.com/studio?hl=ja#cmdline-tools

$ mkdir -p /opt/android-sdk/cmdline-tools/
$ unzip commandlinetools-linux-XXXX.zip -d /opt/android-sdk/cmdline-tools/

ライセンスに同意します。

$ /opt/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager --licenses

3. サンプルアプリのソースコードをダウンロード

$ git clone git@github.com:osstech-jp/libjeid-android-app.git

4. local.properties にAndroid SDKのパスを設定

$ cd libjeid-android-app
$ echo "sdk.dir=/opt/android-sdk" >> local.properties

5. ビルド

$ ./gradlew assembleDebug
  • DebugビルドAPK: ./app/build/outputs/apk/debug/app-debug.apk

サンプルアプリのビルド手順 (Windows)

Android Studioを用いてビルドする方法を説明します。 JDKはAndroid Studioに組み込まれているものを使うことを想定しています。

1. サンプルアプリのソースコードをダウンロード

このページで 「Clone or download」–>「Download ZIP」と選択して、ソースコードをZIP形式でダウンロードします。

ダウンロードが完了したら、任意のフォルダに展開しておきます。

ファイルをGitで管理したい場合は、代わりにGitのインストール及びプロジェクトのクローンを行なってください。

2. Android Studioのインストール・セットアップ

このページから、Windows用のAndroid Studioをダウンロードします。

ダウンロードが完了したら、ファイルを実行してAndroid Studioのインストールを行なってください。

インストールが完了した後は、セットアップウィザードに従ってセットアップを進める必要があります。 こちらも適宜完了させてください。

3. プロジェクトのインポート

セットアップ完了後の「Welcome to Android Studio」のウィンドウで、 「Open an existing Android Studio Project」を選択します。

プロジェクトを選択するウィンドウが開くので、1で展開しておいたフォルダを選択し、 「OK」を押下します。プロジェクトがインポートされます。

この際にエラーが発生した場合、エラーメッセージ下のリンクをクリックして、 不足しているAndroid SDK等をインストールすることでエラーを解消できる場合があります。

4. ビルド

Android Studioのウィンドウで以下のように選択することで、APKをビルドできます。

Build –> Build Bandle(s) / APK(s) –> Build APK(s)

  • DebugビルドAPK: [サンプルコードのフォルダ]/app/build/outputs/apk/debug/app-debug.apk

利用方法

FAQ

リリースビルドでjava.security.NoSuchAlgorithmException が発生する

リリースビルドでのみ下記の様なエラーが発生し、読み取りや真正性検証に失敗することがあります。

java.security.NoSuchAlgorithmException: Provider BC does not provide ...

これは、Android SDKの難読化処理によりJava Cryptography Extension (JCE)が利用できなくなるために発生します。

難読化処理の設定ファイル(proguard-rules.pro)に以下を設定することで回避できます。

-keep class org.bouncycastle.** { *; }

逆引きリファレンス

サードパーティライセンス

LibJeID for AndroidはBouncy Castleをリンクしています。

Bouncy CastleはMITライセンスに基づいて再配布できます。