在调ant打包的编译脚本,遇到一个很让人头疼的问题,不混淆本地代码,整个打包过程没有问题。 但是如果混淆了本地代码
在用android的dx批处理生成dex文件的时候报错: 其中在dex的时候打入了一个第三发jar包,不包括这个包就不会报错。是第三方包和本地代码有冲突? 但是不混淆就正常,有哪位高人指教下,搞一下午了,先谢了。 错误如下:
dex:
[echo] Converting compiled files and external libraries into bin/classes.dex...
[exec] UNEXPECTED TOP-LEVEL EXCEPTION:
[exec] java.lang.IllegalArgumentException: already added: Ls;
[exec] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[exec] at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[exec] at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[exec] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[exec] at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[exec] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:191)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:123)
[exec] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[exec] at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[exec] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[exec] at com.android.dx.command.dexer.Main.run(Main.java:206)
[exec] at com.android.dx.command.dexer.Main.main(Main.java:174)
[exec] at com.android.dx.command.Main.main(Main.java:95)
[exec] 1 error; abortingdex任务部分:
<target name="dex" depends="compile,optimize">
<mkdir dir="${outdir-dx}" />
<exec executable="${dx}" failonerror="true">
<arg value="--dex" />
<arg value="--output=${basedir}/${outdir-dx}/${dex-file}" />
<arg path="${outdir-classes}"/>
<arg value="${basedir}/${external-libs}"/>
</exec>
</target>混淆器是用的android自带的混淆器!!
在用android的dx批处理生成dex文件的时候报错: 其中在dex的时候打入了一个第三发jar包,不包括这个包就不会报错。是第三方包和本地代码有冲突? 但是不混淆就正常,有哪位高人指教下,搞一下午了,先谢了。 错误如下:
dex:
[echo] Converting compiled files and external libraries into bin/classes.dex...
[exec] UNEXPECTED TOP-LEVEL EXCEPTION:
[exec] java.lang.IllegalArgumentException: already added: Ls;
[exec] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[exec] at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[exec] at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[exec] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[exec] at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[exec] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:191)
[exec] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:123)
[exec] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[exec] at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[exec] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[exec] at com.android.dx.command.dexer.Main.run(Main.java:206)
[exec] at com.android.dx.command.dexer.Main.main(Main.java:174)
[exec] at com.android.dx.command.Main.main(Main.java:95)
[exec] 1 error; abortingdex任务部分:
<target name="dex" depends="compile,optimize">
<mkdir dir="${outdir-dx}" />
<exec executable="${dx}" failonerror="true">
<arg value="--dex" />
<arg value="--output=${basedir}/${outdir-dx}/${dex-file}" />
<arg path="${outdir-classes}"/>
<arg value="${basedir}/${external-libs}"/>
</exec>
</target>混淆器是用的android自带的混淆器!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货