Android HCE: existem regras para o AID?

Estou tentando usar um leitor NFC ACR122 para selecionar um aplicativo emulado em um Nexus 5 usando a emulação de cartão host Android. No entanto, pequenos auxílios não são reconhecidos.

Meu objetivo é usar um AID de três bytes, como faço em uma placa DESfire. Meu primeiro objetivo é apenas poder executar um comando SELECT.

Meu aplicativo de teste usa a seguinte configuração para os AIDs:

<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/service_descr"
android:requireDeviceUnlock="false" >

    <aid-group
        android:category="other"
        android:description="@string/aid_descr" >
            <aid-filter android:name="A0A1A2" />
            <aid-filter android:name="B0B1B2B3" />
            <aid-filter android:name="C0C1C2C3C4" />
            <aid-filter android:name="D0D1D2D3D4D5" />
            <aid-filter android:name="E0E1E2E3E4E5E6" />
    </aid-group>

</host-apdu-service>

Se eu executar os seguintes APDUs:

00 a4 04 00 03 a0 a1 a2 00
00 a4 04 00 04 b0 b1 b2 b3 00
00 a4 04 00 05 c0 c1 c2 c3 c4 00
00 a4 04 00 06 d0 d1 d2 d3 d4 d5 00
00 a4 04 00 07 e0 e1 e2 e3 e4 e5 e6 00

Eu sempre recebo as seguintes respostas:

=> 00 a4 04 00 03 a0 a1 a2 00 
<= 6f 00 
=> 00 a4 04 00 04 b0 b1 b2 b3 00 
<= 6a 82 
=> 00 a4 04 00 05 c0 c1 c2 c3 c4 00 
<= 90 00 
=> 00 a4 04 00 06 d0 d1 d2 d3 d4 d5 00 
<= 90 00 
=> 00 a4 04 00 07 e0 e1 e2 e3 e4 e5 e6 00 
<= 90 00 

Então, apenas os AIDs com comprimento superior a 5 bytes funcionarão com o Android? Ou estou fazendo algo realmente errado?

questionAnswers(2)

yourAnswerToTheQuestion