使用 Vuforia 配置 Proguard 时出错

Posted

技术标签:

【中文标题】使用 Vuforia 配置 Proguard 时出错【英文标题】:Error in the configuration Proguard using Vuforia 【发布时间】:2016-12-24 02:01:25 【问题描述】:

我正在尝试将 Vuforia 置于 proguard 设置中,并且正在显示错误日志:

警告:com.qualcomm.ar.pl.ODGR7Controller:找不到引用 com.osterhoutgroup.api.ext.ExtendDisplay 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView$Layout 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView$RenderMode 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView$Layout 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView$RenderMode 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView$Layout 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView$RenderMode 类

警告:com.qualcomm.ar.pl.ODGX6Controller:找不到引用 com.ti.s3d.S3DView 类

警告:有 11 个未解析的类或接口引用。

警告:处理任务 java.io.IOException 时出现异常:请 请先更正上述警告。

错误:任务执行失败 ':app:transformClassesAndResourcesWithProguardForDebug'.

java.io.IOException: 请先更正上述警告。

我的保镖:

#tests

#-keep class com.qualcomm.**  *; 

-keep class com.vuforia.**  *; 

#-keep class com.qualcomm.ar.pl.**  *; 

-keep class com.vuforia.ar.pl.**  *; 

#-dontwarn class com.qualcomm.ar.pl.**  *; 

#-dontwarn class com.vuforia.ar.pl.**

【问题讨论】:

【参考方案1】:

fwiw 我正在使用以下

-keep class com.vuforia.**  *; 
-keep interface com.vuforia.**  *; 

-keep class com.osterhoutgroup.**  *; 
-keep class com.ti.s3d.**  *; 

-dontwarn com.vuforia.ar.**

【讨论】:

这个也对我有用。 Unity 2017.2.0b9,内置 Vuforia 支持。

以上是关于使用 Vuforia 配置 Proguard 时出错的主要内容,如果未能解决你的问题,请参考以下文章

为 OnClickListener 使用 Proguard 时出现 NoSuchMethodError 错误

将 SafeArgs 与 Proguard 和导航架构组件一起使用时出现 ClassNotFoundException?

签署 Android 应用程序时出现错误 Proguard

尝试使用 ProGuard 优化 Java+Scala 时出现 java.lang.***Error

启用 proguard 时出现杰克逊错误(缩小)

尝试在 ProGuard 中启用缩小时出现 DexGuard 错误