Android 使用外部LIB运行UIAutomator测试,给出UIAutomator java.lang.IllegalAccessError:Class ref在预验证类中
在通过命令提示符运行UIAutomator测试时,我面临“java.lang.IllegalAccessError:Class ref in pre-verified Class…” 我创建了一个uiautomator测试项目,并将外部apache-commons-lang.jar添加到测试项目/libs文件夹中 我在下面的compile和dex目标中进行了覆盖,该目标位于 %ANDROID\u HOME%\tools\ant\uibuild.xml 使用外部libs编译源测试代码,并成功创建.dex文件和.jar文件Android 使用外部LIB运行UIAutomator测试,给出UIAutomator java.lang.IllegalAccessError:Class ref在预验证类中,android,ant,dex,android-uiautomator,Android,Ant,Dex,Android Uiautomator,在通过命令提示符运行UIAutomator测试时,我面临“java.lang.IllegalAccessError:Class ref in pre-verified Class…” 我创建了一个uiautomator测试项目,并将外部apache-commons-lang.jar添加到测试项目/libs文件夹中 我在下面的compile和dex目标中进行了覆盖,该目标位于 %ANDROID\u HOME%\tools\ant\uibuild.xml 使用外部libs编译源测试代码,并成功创建.
<property name="jar.libs.dir" value="libs />
<property name="jar.libs.absolute.dir" location="${jar.libs.dir}" />
<path id="classpath">
<fileset dir="${jar.libs.absolute.dir}">
<include name="uiautomator.jar" />
<include name="commons-lang-2.0.jar" />
</fileset>
</path>
<target name="compile" depends="-build-setup, -pre-compile">
<echo message="In the compilation****"/>
<javac encoding="${java.encoding}" source="${java.source}"
target="${java.target}" debug="true" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}" bootclasspathref="project.target.class.path"
verbose="${verbose}" fork="${need.javac.fork}">
<src path="${source.absolute.dir}" />
<classpath refid="classpath" />
<compilerarg line="${java.compilerargs}" />
</javac>
</target>
<target name="-dex" depends="compile, -post-compile">
<dex executable="${dx}" output="${intermediate.dex.file}"
nolocals="@{nolocals}" verbose="${verbose}">
<fileset dir="${jar.libs.absolute.dir}">
<include name="*.jar" />
</fileset>
<path path="${out.classes.absolute.dir}" />
</dex>
</target>
有几个类似的问题可能会给你一个答案:1)、(2)、(3)