電話をルート化すると、ファイルを変更できます。このファイルには、セキュア エレメント (SE) へのアクセスが許可されている署名とパッケージ名のリストが含まれています。署名は、16 進数でエンコードされた X.509 証明書です。タグを作成するには、ファイルにタグ<debug />
を含めるだけで、SE アクセスが拒否されたアプリケーションの 16 進数でエンコードされた署名が logcat に出力され、このファイルに簡単にカット アンド ペーストできます。
SE にアクセスできるアプリを作成するには、次のアクセス許可をマニフェストに追加する必要があります。
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
実際に SE にアクセスするには、以下をインポートして隠し API にアクセスする必要がありますcom.android.nfc_extras
。
import com.android.nfc_extras.NfcAdapterExtras;
import com.android.nfc_extras.NfcAdapterExtras.CardEmulationRoute;
import com.android.nfc_extras.NfcExecutionEnvironment;
これを可能にする最も簡単な方法は、アプリを Android ソース コード ツリーに配置してpackages/apps
そこからビルドすることで、アプリをコンパイルすることです。Android.mk
SE API にアクセスするには、makefile に次の行を追加する必要があります。
LOCAL_JAVA_LIBRARIES := com.android.nfc_extras
の機能com.android.nfc_extras
により、SE の有効化と無効化、SE へのコマンドの送信、および SE からの応答の受信が可能になります ( に相当IsoDep.transceive()
)。