NoSuchMethodError after applying ProGuard
Java class file shrinker, optimizer, obfuscator, and preverifier
Brought to you by:
guardsquare
NoSuchMethodError after applying ProGuard
Following occurs with android studio 3.1.3 with Proguard 5.3.3,m not sure why java classes get obfuscated,
java.lang.NoSuchMethodError: No virtual method a(Ljava/lang/Object;)Ljava/lang/StringBuilder; in class Ljava/lang/StringBuilder; or its super classes (declaration of 'java.lang.StringBuilder' appears in /system/framework/core-oj.jar)
at com.myapplication.MainApplication.<init>(SourceFile:81)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newApplication(Instrumentation.java:1102)
at android.app.Instrumentation.newApplication(Instrumentation.java:1087)
at android.app.LoadedApk.makeApplication(LoadedApk.java:983)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5715)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
above occurs while acessing
public String DEFAULT_APP_FOLDER_MAIN = Environment
.getExternalStorageDirectory() + "/MyRecordings/";
It seems like the input contains
rt.jarorandroid.jar, so they get obfuscated along with your own code. Do your configuration files don't contain any-injarssettings? The Android build system already sets those for you.Alternatively, your compiled code accidentally contains a copy of StringBuilder. You should then try a clean build.