编译JAR库后,一些名为arg0,arg1等的函数参数

Eit*_*rtz 4 java ant parameters android

我似乎遇到了一个问题,其中,在一个Jar库的Ant编译之后,一些函数参数是arg0,arg1等...而不是它们的真实姓名.有问题的函数都属于库中的一个内部接口.

我正在使用Ant命令编译库:

ant clean release -Dversion.code = 1 -Dverbose = true -Ddebug = true -Ddebuglevel ="vars"

鉴于此,由于某种原因,部分方法会丢失其参数名称,而其他方法会保留其参数名称.即:

Func a(String specificName1)变为(String arg0)

Func b(String specifcName2)变为b(String specificName2)

问题如下:库里面有一个内部接口类.为什么接口函数获取名为arg0,arg1等的参数,而其他方法保留正确的参数名称?


我正在开发一个Android库,我正在Eclipse IDE上测试库jar.

编译本身是在Androids自己的ant build.xml中编辑的:

        <javac encoding="${java.encoding}"
                source="${java.source}" target="${java.target}"
                debug="true" debuglevel="vars" extdirs="" includeantruntime="false"
                destdir="${out.classes.absolute.dir}"
                bootclasspathref="project.target.class.path"
                verbose="${verbose}"
                classpathref="project.javac.classpath"
                fork="${need.javac.fork}">
            <src path="${source.absolute.dir}" />
            <src path="${gen.absolute.dir}" />
            <compilerarg line="${java.compilerargs}" />
        </javac>
Run Code Online (Sandbox Code Playgroud)

Eit*_*rtz 6

好的,终于找到了答案,希望它可以帮到某人:

简短的故事是:param名称可以从javadoc,外部源文件或类本身内部绘制.新的事情是,当试图从类本身获取参数名称信息时,接口类不能像普通类一样保留它们的参数名称(根据Oracle的Java规范手册).

这实际上是在我以前没有找到的其他帖子中回答的:

Eclipse中JAR文件的Java方法参数名称

这也支持没有解决方案:

保留已编译的java类中的参数/参数名称