Dalvikvm для запуска jar-файлов с разрешения пользователя Manifest - PullRequest
2 голосов
/ 19 мая 2011

У меня очень простое Java-приложение для командной строки, которое я хочу перенести на платформу Android. Приложение выполняет доступ к веб-странице в Интернете и выводит некоторые выходные данные через System.out.println.

С http://davanum.wordpress.com/2007/12/04/command-line-java-on-dalvikvm/, Я понимаю, что могу конвертировать файл jar моего приложения Java в формат Android dex, а затем в файл jar Android, который затем можно запустить с помощью dalvikvm.

Однако после того, как я сделал это и успешно выполнил программу на своем телефоне Android, я получил следующую ошибку:

java.net.SocketException: Permission denied

Я рассчитывал, что это должно быть из-за того, что приложение не имеет разрешения на доступ к Интернету, так как типичное приложение Android apk будет содержать файл AndroidManifest.xml, который может указывать такие разрешения, как:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

Итак, вот я и ищу ответы на вопрос, могу ли я избежать создания полноценного приложения apk, указав каким-либо образом, что мне нужно разрешение на доступ в Интернет где-то в процессе подготовки файла JAR Android или при выполнении через dalvikvm?

1 Ответ

2 голосов
/ 19 мая 2011

Я думаю, что проблема в том, что пользователь оболочки по умолчанию (то, чем вы являетесь, если вы используете adb shell), может не иметь разрешения ИНТЕРНЕТ.Поскольку я не думаю, что есть простой способ добавить разрешения пользователю в командной строке, я не уверен, что вы вообще сможете это сделать.

...