所以改一下,把限制拿掉:
diff --git a/core/java/android/net/http/RequestQueue.java b/core/java/android/net/http/RequestQueue.java
index a31639f..a1f8f1b 100644
--- a/core/java/android/net/http/RequestQueue.java
+++ b/core/java/android/net/http/RequestQueue.java
@@ -261,7 +261,8 @@ public class RequestQueue implements RequestFeeder {
*/
private synchronized void setProxyConfig() {
NetworkInfo info = mConnectivityManager.getActiveNetworkInfo();
- if (info != null && info.getType() == ConnectivityManager.TYPE_WIFI) {
+ //if (info != null && info.getType() == ConnectivityManager.TYPE_WIFI) {
+ if (false) {
mProxyHost = null;
} else {
String host = Proxy.getHost(mContext);
然後,就可以去設定 http_proxy 的值。
proxy 的設定,default 只有寫在 vpn 和 3g 連線。
所以用手動改 database setting 比較快,這部份就跟網路上一般的說明一樣:
adb shell
#sqlite3 /data/data/com.android.providers.settings/database/settings.db
#sqlite > INSERT INTO secure VALUES(99,'http_proxy','192.168.147.242:3128');
#.quit
然後重開。
-- 如果是在 setting 裡面設定,是可以不用重開的。
** 2.3 之前的 database 好像是 system,之後改成 secure 了。
ref:
- http://stackoverflow.com/questions/9332522/androids-proxy-confusing-documentation-resources
- http://code.google.com/p/rowboat/wiki/SimpleTests
其他:
要開啟 Http 的 LOG,修改 frameworks/base/core/java/android/net/HttpLog.java,
其中:
private static final boolean DEBUG = true;
Database 改由 secure 的 code 是在同目錄的 Proxy.java:
static final public String getHost(Context ctx) {
ContentResolver contentResolver = ctx.getContentResolver();
Assert.assertNotNull(contentResolver);
String host = Settings.Secure.getString(
contentResolver,
Settings.Secure.HTTP_PROXY);
if (host != null) {
int i = host.indexOf(':');
if (i == -1) {
if (DEBUG) {
Assert.assertTrue(host.length() == 0);
}
return null;
}
return host.substring(0, i);
}
return getDefaultHost();
}
沒有留言:
張貼留言