Proguard:找不到引用的类jp.co.opto.opnsdk.R $ string

时间:2017-07-11 21:29:11

标签: android proguard android-proguard

我遇到了一个问题。

  

警告:jp.co.opto.opnsdk.BluetoothService:找不到引用   class jp.co.opto.opnsdk.R $ string   警告:jp.co.opto.opnsdk.BluetoothService:无法找到引用   class jp.co.opto.opnsdk.R警告:jp.co.opto.opnsdk.Command:can&#t; t   找到引用的类jp.co.opto.opnsdk.R $ string   警告:jp.co.opto.opnsdk.Command:无法找到引用的类   jp.co.opto.opnsdk.R

以下是我尝试过但没有结果的内容。我相信问题是R.如何引用资源来保持或不警告?

-dontwarn jp.co.opto.opnsdk.**
-dontwarn jp.co.opto.opnsdk.BluetoothService.**
-dontwarn jp.co.opto.opnsdk.BluetoothServiceState.**
-dontwarn jp.co.opto.opnsdk.Command.**
-dontwarn jp.co.opto.opnsdk.Opn2002BluetoothService.**
-keep class jp.co.opto.opnsdk.** { *; }
-keep class jp.co.opto.opnsdk.BluetoothService.** { *; }
-keep class jp.co.opto.opnsdk.BluetoothServiceState.** { *; }
-keep class jp.co.opto.opnsdk.Command.** { *; }
-keep class jp.co.opto.opnsdk.Opn2002BluetoothService.** { *; }

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。我需要-keepclassmembers。这使我减少了保持数量并且也减少了。对于那些面临类似问题的人,我的最终代码看起来像这样。

-keep class jp.co.opto.opnsdk.** { *; }
-dontwarn jp.co.opto.opnsdk.**
-keepclassmembers class jp.co.opto.opnsdk.** { *; }