2011-05-19 56 views
2

我有一個非常簡單的命令行Java應用程序,我希望移植到Android平臺。該應用程序所做的是訪問Internet上的網頁並通過System.out.println打印一些輸出。Dalvikvm使用Manifest用戶權限運行jar文件

http://davanum.wordpress.com/2007/12/04/command-line-java-on-dalvikvm/,我意識到我可以將我的Java應用程序的jar文件轉換爲Android dex格式,然後轉換爲可以使用dalvikvm運行的Android jar文件。

但是,我做到了這一點,並已成功執行了我的Android手機上的程序後,我得到了以下錯誤:

java.net.SocketException: Permission denied 

我估計一定是由於沒有權限訪問的應用程序互聯網,作爲一個典型的Android APK應用程序將包含其中可指定權限,如AndroidManifest.xml文件:所以我在這裏

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

,求我是否能避免通過構建一個全面的APK應用程序的答案以某種方式指定我在準備好android jar文件的過程中或在通過dalvikvm執行的過程中需要獲得互聯網訪問權限?

回答

2

我認爲問題是,默認的shell用戶(如果你運行的是adb shell,你就是這個用戶)可能沒有INTERNET權限。由於我不認爲有一種簡單的方法可以在命令行上爲用戶添加權限,所以我不確定你能否完成這項工作。