pxb1988 / dex2jar

Tools to work with android .dex and java .class files
Apache License 2.0
12.26k stars 2.1k forks source link

Using latest Dex2Jar : Seeing this failure " Failed resolution of: Lres/Hex " #526

Open vramasam opened 2 years ago

vramasam commented 2 years ago

Hello @ThexXTURBOXx

When we try to use https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp/4.9.3 in the apk. It results in following error.

Process: com.sampleapp, PID: 13211 java.lang.NoClassDefFoundError: Failed resolution of: Lres/Hex; at okhttp3.internal.http2.Huffman.$d2j$hex$c61541e3$decode_I(Unknown Source:16) at okhttp3.internal.http2.Huffman.(Unknown Source:17) at okhttp3.internal.http2.Hpack$Writer.writeByteString(Unknown Source:11) at okhttp3.internal.http2.Hpack$Writer.writeHeaders(Unknown Source:264) at okhttp3.internal.http2.Http2Writer.headers(Unknown Source:12) at okhttp3.internal.http2.Http2Connection.newStream(Unknown Source:82) at okhttp3.internal.http2.Http2Connection.newStream(Unknown Source:6) at okhttp3.internal.http2.Http2ExchangeCodec.writeRequestHeaders(Unknown Source:25) at okhttp3.internal.connection.Exchange.writeRequestHeaders(Unknown Source:16) at okhttp3.internal.http.CallServerInterceptor.intercept(Unknown Source:29) at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:80) at okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source:32) at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:80) at okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source:192) at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:80) at okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source:171) at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:80) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source:37) at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:80) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(Unknown Source:119) at okhttp3.internal.connection.RealCall.execute(Unknown Source:27)

How we are calling the OkHttpClient from code: The problem is with 4.x.x http library

private static final String URL_STRING = "https://www.google.com"; private void okHttpLib() { try { new Thread(new Runnable() { @Override public void run() { try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(URL_STRING) .build(); Response response = client.newCall(request).execute(); Log.i(LOG_TAG, "OK HTTP, " + URL_STRING + ", status code: " + response.code()); response.body().string(); } catch (Exception e) { Log.e(LOG_TAG, "Exception while making okhttp call"); } } }).start(); } catch (Exception e) { Log.e(LOG_TAG, "Exception", e); } }

Can you please check this issue?

Note: Issue exist in the forked one also

vramasam commented 2 years ago

Hello @ThexXTURBOXx @pxb1988 If we have any update on this issue. Kindly let me know. Thank you

vramasam commented 2 years ago

Not seeing this exception specific to okHttp library. Observed the same issue in another apk. Process: java.lang.NoClassDefFoundError: Failed resolution of: Lres/Hex; at androidx.appcompat.R$styleable.$d2j$hex$b9a46b2b$decode_I(Unknown Source:16) at androidx.appcompat.R$styleable.(Unknown Source:115) at androidx.appcompat.app.AppCompatDelegateImpl.createView(Unknown Source:8) at

Tried the same with the old version of Dex2Jar there this issue is not happening. Can you please look into it?