Androidエミュレータエミュレータ-http-proxy <<proxy-name>> -avd <<avd_name>>
それは動作しますが、それを行うための最良の方法ですか?コマンドラインからエミュレーターを開く必要があるとは思えず、Eclipseなどからだけではできません。
「AVD Manager」にもインターネットオプションが見つからないようです。
DNSサーバー設定を明示的に指定することもできますが、これはうまくいきました。
Eclipseの場合:
ウィンドウ>設定> Android>起動
デフォルトのエミュレーターオプション:-dns-server 8.8.8.8,8.8.4.4
デフォルトでは、F8(Windows)およびFn + F8(Mac OS X)を使用して、エミュレーターへのインターネットアクセスを切り替えることができるはずです-F8はLinuxでも機能すると思いますが、100%確信はありません。
このショートカットを使用すると、 ACTION_BACKGROUND_DATA_SETTING_CHANGED がディスパッチされます。
お役に立てば幸いです。
これは古い投稿であり、誰も言及していないため、レコードについては、AndroidManifest.xmlのAndroid.permission.INTERNETフラグを次のように設定することを忘れていたかどうかを確認します(私がしたように)。
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.google.Android.webviewdemo">
<uses-permission Android:name="Android.permission.INTERNET"/>
<application Android:icon="@drawable/icon">
<activity Android:name=".WebViewDemo" Android:label="@string/app_name">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
-http-proxyは、Eclipseで次のように設定できます。
Android SDK and AVD Manager ...から仮想デバイスでAVDを作成中にGSMモデムサポートを追加.
DNSを設定していたのが私にとってのトリックでした。 EclipseまたはNetbeansプラグインを使用している場合は、それぞれデフォルトのエミュレータオプションまたはエミュレータオプションを使用して設定できます。 CLIからエミュレータを起動する場合は、コマンドラインからsetを使用することもできます。いずれの場合も、オプションは引用符なしの「-dns-server x.x.x.x、x.x.x.x」です。 ADB GUIには、オプションを仮想デバイスに永続的に関連付けるオプションはありません。
こんにちは私も同じ問題に直面し、以下の手順を使用して解決しました:
Androidアプリケーションにインターネット許可を追加します
手動でデフォルトのアプリケーションがインターネットにアクセスできるかどうかを確認してください。そうでない場合はエミュレータの問題で、PCでインターネット接続を確認してください。
あなたのPCでネットに接続する以下の方法を試してください
dNSサーバー設定を明示的に指定してみてください。これは私にとってはうまくいきました。
Eclipseの場合:
ウィンドウ>設定> Android>起動
デフォルトのエミュレーターオプション:-dns-server 8.8.8.8,8.8.4.4 **
check:LANのようにPCに複数のインターネット接続を使用しているかどうかを確認し、2番目はモデムなので、すべてのLANまたはモデムを無効にします。
既存のものを削除し、エミュレータを再作成します。マシン(windows/mac)はインターネットにアクセスできる必要があり、Androidエミュレーターはデフォルトでインターネットにアクセスします。
誰かがAndroidManifestでインターネットアクセス許可を持っているのに、まだインターネット接続に問題がある場合は、おそらく役に立つでしょう: Android-エミュレーターでのインターネット接続の問題の修正。
私はそのウェブサイトの手順に従いましたが、すべてうまくいきました。最も重要な:
これが私の最初の投稿ですので、お役に立てば幸いです。
少し異なる点で、エミュレータ上のインターネットが機能するように、仮想デバイスGSMモデムサポートなしを作成する必要がありました。
エミュレータ上でコードが実行されるかどうかをコードがどのように見つけることができるか、さまざまな提案を見てきました。当分の間、私はエミュレーターにとってすべてゼロであるデバイスIDを読み取ることに決めました。
TelephonyManager telmgr =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); boolean isEmulator = "000000000000000" .equals(telmgr.getDeviceId());
ただし、READ_PHONE_STATE権限が必要なデプロイ済みアプリでは