Uiautomator打包使用第三方库,报错的解决方案

Posted UDLD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uiautomator打包使用第三方库,报错的解决方案相关的知识,希望对你有一定的参考价值。

 

问题引源:

    在做自动化过程中,想在用例执行完毕后,自动生成该用例测试报告;

    报告定义为Excel格式文件,且在用例执行过程中生成。

    所以我在Uiautomator工程中引用了jxl.jar,用以处理Excel文件

 

    写好无误后,出现打包错误,如下图:

    

 

 

1. 将jar包的路径,放到compile下

     通过修改uibuild.xml(文件路径:${sdk.dir}/tools/ant/uibuild.xml)

     

 

2. 把class的路径加入到classes.dex文件中

     

 

 

3.    可以看到,项目编译时引入了项目lib下所有的jar包,同时也引入了jdk中的jar包,通过这样的配置就把javac依赖的jar引入进来了,而且正确无误,可为什么就是报错呢??? 
  出现这样的问题在于javac命令的行为。当javac在编译代码时,当他尝试从rt.jar中找寻对应的类文件时,他会默认从对应的符号表文件ct.sym (同样在jre/lib/下)中查找该类是否存在,由于ct.sym中有意或无意        的遗失了部分rt.jar中的类,或者根本就不存在ct.sym时,就算正确引入了jar包也会报上面的错,这时候就需要对javac命令配置,使其在编译时不用检查符号表,而是直接查找jar包: 
       增加配置参数:-XDignore.symbol.file 

       

 

以上是关于Uiautomator打包使用第三方库,报错的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

VSC终端检测不到webpack版本号和打包报错的2020年解决方案

Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方式

解决maven本地仓库有jar包但是还会打包报错的问题

解决maven本地仓库有jar包但是还会打包报错的问题

解决maven本地仓库有jar包但是还会打包报错的问题

解决maven本地仓库有jar包但是还会打包报错的问题