2

Android アプリ内で http プロキシを作成しようとしています。onCreate()メソッド 内でこのコードを使用します。

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.2.2", 8080));
HttpURLConnection e = (HttpURLConnection)url.openConnection(proxy);
e.setReadTimeout(10000);
e.setConnectTimeout(15000);
e.setRequestMethod("GET");
e.connect();

私のアプリは例外をスローします:

I/O exception: java.net.SocketTimeoutException: failed to connect to /10.0.2.2 (port 8080) after 15000ms

次に、 LittleProxyを使用して http プロキシ サーバーを作成しようとしました。

compile group: 'org.littleshoot', name: 'littleproxy', version: '1.0.0-beta7'


public class MyHttpProxyServer {
    org.littleshoot.proxy.HttpProxyServer server;
    public MyHttpProxyServer(){
        server = DefaultHttpProxyServer.bootstrap().withAddress(InetSocketAddress.createUnresolved("10.0.2.2", 8080)).start();
    }
}

この行をgradle.buildファイルに追加しました.bc gradleは、それ以外の場合はアプリをビルドしませんでした:

packagingOptions {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
    exclude 'META-INF/LGPL2.1'
}

そして、ここで私のエミュレーターはアプリの起動を拒否しました:

Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

すべての LittleProxy インポートにコメントすると、エミュレーターは再び正常に動作します。それで、LittleProxy が Android と互換性があるとは思えませんか? 一方、私は人々が以前にそれを使用していたのを見ました

4

2 に答える 2

0

バージョンを 1.0.0 に変更します

コンパイル グループ: 'org.littleshoot'、名前: 'littleproxy'、バージョン: '1.0.0'

于 2016-07-14T08:28:21.307 に答える
0

jar にはネイティブ ライブラリが含まれていますが、arm ビルドは含まれていないため、barchart-udt-bundle のみを除外すると問題が解決します。build.gradle に除外部分を追加します

implementation ('org.littleshoot:littleproxy:1.1.2'){
    exclude group: 'com.barchart.udt', module: 'barchart-udt-bundle'
}
于 2021-09-16T18:50:37.523 に答える