2012-03-03 22 views
1

NFCEE_ADMIN権限は署名レベルです。 しかし、ルートのある電話でこの許可を得るために「不正行為」することは可能ですか?おそらくthe way ClockSync does itに似たテクニックを使用していますか?根付いた電話のNFCEE_ADMIN権限を取得するにはどうすればいいですか?

私はNFCExtrasへのアクセスを得るために反射技術を使用しようとしています:

mAdapter = NfcAdapter.getDefaultAdapter(this); 

try { 
    Class mynfcextras = Class.forName("android.nfc.INfcAdapterExtras"); 
    Method getnfcExtras = mAdapter.getClass().getMethod("getNfcAdapterExtrasInterface"); 
    Object nfcExtras = getnfcExtras.invoke(mAdapter); 
} catch (Exception e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

をしかし、もちろんのは、次のエラーを取得する:「NFCEE_ADMINの許可が必要:ユーザーxxxのも、現在のプロセスのいずれもcom.android.nfcを持っています。許可.NFCEE_ADMIN。 "

編集:もちろん、私はパッケージに権限を追加しましたが、それは、インストール中に削除されます。

W/PackageManager( XXX): Not granting permission com.android.nfc.permission.NFCEE_ADMIN to package XXX (protectionLevel=2 flags=0x8be46) 

答えて

1

のアプリの署名は/system/etc/nfcee_access.xmlにする必要があります。例えば、その作成方法の例はhttp://code.google.com/p/seek-for-android/wiki/BuildingTheSystemを参照してください。

+0

自分のイメージを作成する唯一のソリューションですか?/ "このファイルは、NFCEE_ADMIN権限を取得できるアプリケーションのシグネチャを含めると主張していますが、アプリケーションシグネチャではなく署名者証明書チェーンのようです。 " – Choumarin

+0

OK。アプリケーションシグネチャをnfcee_access.xmlファイルに取得するために管理されます。しかし、それでも動作しません:/ – Choumarin

+0

Ok。 nfcee_access.xmlは、プロダクションビルドではなく、ユーザービルドにのみ使用されます。私はCM9を使用し、魅力的な作品です。 – Choumarin

関連する問題