Если я вызову функцию socket()
в методах JNI C, приложение будет по-прежнему терпеть неудачу с ошибкой разрешения. И если я поместил строку разрешения использования в AndroidManifest.xml, проблема будет исправлена.
Итак, похоже, что проверка доступа к Android не реализована в виртуальной машине Dalvik, так как я вызываю собственную функцию C и все еще проверяется. Я хотел бы знать, как выполняется проверка в ядре Android, или приложение прослеживается с чем-то вроде ptrace
для перехвата каждого системного вызова или любым другим способом. Большое спасибо.