Groups
Groups
Sign in
Groups
Groups
Android-SDK-Japan
Conversations
About
Send feedback
Help
VPNプロファイルの設定が保存できません。
792 views
Skip to first unread message
ht_nr
unread,
May 20, 2011, 2:29:21 AM
5/20/11
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Android-SDK-Japan
今回は初めて投稿させていただきますht_nrと申します。
このグループの情報はいつも参考にさせていただいています。
現在Android2.3のOSソースコードをダウンロードして
ルート\packages\apps\Settings の中の「VPN Settings」機能を
移植して通常アプリとして動かそうとしています。
エミュレーター上で、インストールから起動、VPNの設定入力画面まではなんとか
動かせたのですが、VPNの設定を入力して前画面に戻った瞬間に
ダイアログでエラーが出てしまいます。
このエラーの対処方法が知りたいのですが、ご存知の方いらっしゃいますでしょうか。
java.io.FileNotFoundException: /data/misc/vpn/profiles/
4599898380687054558.pobj (Permission denied): /data/misc/vpn/profiles/
4599898380687054558.pobj (Permission denied)
という感じです。
(上記は例です。実際のエラーは数値が異なります)
LogCatには何も出力されませんでした。
コンソール接続して該当のディレクトリの権限を見てみましたが
# ls -l
ls -l
drwxrwx--- system system 2011-05-16 08:54 profiles
となっていました。
systemユーザー権限は一般のアプリでは取得できないという情報があったため
VPNプロファイル保存ディレクトリを変更したら解決できるのではないかと考えていますが、
変更方法がわからず、デバッグでステップ実行しても該当の処理の箇所がわからない状況です。
ご存じの方がいらっしゃいましたら、どうぞアドバイスを
よろしくお願いいたします。
環境:
OS Windows7 エミュレーター
IDE Eclipse
ターゲット 2.3(level9)
ht_nr
unread,
May 27, 2011, 2:31:38 AM
5/27/11
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Android-SDK-Japan
自己解決しました。
android/net/vpn/VpnManager.java に プロファイルの保存パスが書かれていました。
public static final String PROFILES_PATH = "/misc/vpn/profiles";
これを
public static final String PROFILES_PATH = "/data/(アプリ名)/vpn/
profiles";
にしたところうまく保存できました。
デバッグしても該当箇所がわからなかったのは、自作の「Settings」アプリを起動していたのに、
いつのまにかOS側のSettingsのVPN処理が呼ばれてすげ変わっていたからのようです。
(自作アプリ側でブレークポイント張っても呼ばれなかったため、VPN関連クラスの名前を変えてみたら
引っかかるようになりました)
Reply all
Reply to author
Forward
0 new messages