secondary-dex-gradle icon indicating copy to clipboard operation
secondary-dex-gradle copied to clipboard

Support obfuscation at release

Open nenick opened this issue 10 years ago • 0 comments

After proguard obfuscation no one know how the packages are mapped. So its hard to split specific packages into multi dex files. maybe it can be read from the generated mapping.txt

The proguard option -keeppackagenames org.spongycastle may help, but after this the dex process is failing

10:56:00.940 [ERROR] [system.err] UNEXPECTED TOP-LEVEL EXCEPTION:
10:56:00.941 [ERROR] [system.err] com.android.dx.cf.iface.ParseException: class name (org/spongycastle/a/q) does not match path (org/spongycastle/a/Q.class)
10:56:00.942 [ERROR] [system.err]   at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:520)
10:56:00.942 [ERROR] [system.err]   at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
10:56:00.943 [ERROR] [system.err]   at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
10:56:00.948 [ERROR] [system.err]   at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
10:56:00.948 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.processClass(Main.java:665)
10:56:00.948 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
10:56:00.949 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.access$600(Main.java:78)
10:56:00.949 [ERROR] [system.err]   at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
10:56:00.950 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
10:56:00.950 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
10:56:00.953 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
10:56:00.960 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
10:56:00.960 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
10:56:00.961 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
10:56:00.961 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
10:56:00.961 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
10:56:00.961 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
10:56:00.962 [ERROR] [system.err]   at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
10:56:00.962 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.processOne(Main.java:596)
10:56:00.962 [ERROR] [system.err]  at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
10:56:00.964 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
10:56:00.965 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.run(Main.java:230)
10:56:00.965 [ERROR] [system.err]   at com.android.dx.command.dexer.Main.main(Main.java:199)
10:56:00.966 [ERROR] [system.err]   at com.android.dx.command.Main.main(Main.java:103)
10:56:00.966 [ERROR] [system.err] ...while parsing org/spongycastle/a/Q.class

For release version we don't need dex splitting now and we skip this process, but would be great to support it

nenick avatar Sep 16 '14 10:09 nenick