我试图使用proguard构建一个签名的apk(发布),但是当生成APK android studio时会报告与" net.sourceforge.jtds"相关的几个警告。像这样:
警告:net.sourceforge.jtds.jdbcx.JtdsDataSource:无法找到超类或接口javax.sql.XADataSource
警告:net.sourceforge.jtds.jdbcx.JtdsDataSource:无法找到超类或接口javax.naming.Referenceable
...
最后以错误结束:
错误:任务':app:transformClassesAndResourcesWithProguardForRelease'执行失败。 java.io.IOException:请先纠正上述警告。
我是否必须将proguard配置为"忽略" JTDS?怎么样?
任何帮助将不胜感激。
答案 0 :(得分:1)
警告意味着您缺少某些依赖库。缺少的类(javax.naming.Referenceable
或javax.sql.XADataSource
)存在于标准Java 7 SDK中,但不存在于android.jar
中(因为您正在为Android构建)。
我不知道所使用的库(jtds)是否适用于Android,但是如果它确实如此,您可以在配置中添加以下内容以指示ProGuard忽略警告:
-dontwarn net.sourceforge.jtds.**
否则你可能需要为android添加缺少的库,例如: JNDI。