在调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自带的混淆器!!