我正在尝试 Android CTS。我在 android.permission 期间遇到问题。
02-05 15:57:27 I/192.168.90.48:5555:
android.permission.cts.NoNetworkStatePermissionTest#testSecurityExceptionFromDns FAIL
junit.framework.AssertionFailedError
at android.permission.cts.NoNetworkStatePermissionTest.testSecurityExceptionFromDns
(NoNetworkStatePermissionTest.java:174)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
在我的猜测中,这个测试检查权限。程序尝试如下:
public void testSecurityExceptionFromDns() throws Exception {
try {
InetAddress.getByName("www.google.com");
fail();
} catch (SecurityException expected) {
}
}
预期的行为是程序抛出安全异常,因为这个应用程序没有
android.permission.INTERNET
但即使没有权限,它也可以获取 InetAdress。
我该如何解决这种情况?
我已经检查了诸如 /dev/socket 之类的权限
有人可以告诉我发生了什么吗?
谢谢。