【问题标题】:How to obtain NFCEE_ADMIN permission on rooted phone?如何在 root 手机上获得 NFCEE_ADMIN 权限?
【发布时间】:2012-03-03 11:25:59
【问题描述】:

NFCEE_ADMIN 权限是签名级别。 但是,是否有可能“作弊”以在有根手机上获得此权限?也许使用类似于the way ClockSync does it 的技术?

我正在尝试使用反射技术来访问 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.permission.NFCEE_ADMIN。”

编辑:当然,我确实在包中添加了权限,但是在安装过程中它被删除了:

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

【问题讨论】:

    标签: android nfc rfid rooted-device


    【解决方案1】:

    您的应用的签名需要在/system/etc/nfcee_access.xml 中。参见例如http://code.google.com/p/seek-for-android/wiki/BuildingTheSystem 举例说明如何创建它。

    【讨论】:

    • 是建立自己的形象的唯一解决方案吗?我试图避免这种情况:/我不太明白这句话:“这个文件声称包含可以检索 NFCEE_ADMIN 权限的应用程序的签名。但是,它似乎是签名者证书链而不是应用程序签名。”
    • 好的。设法将应用程序签名放入 nfcee_access.xml 文件中。但它仍然不起作用:/
    • 好的。 nfcee_access.xml 仅用于用户构建,而不用于生产。我用的是 CM9,效果很好。
    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 2013-05-29
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多