我有一个项目正在使用新的RenderScript 支持库,并且还使用 proguard 进行混淆。
使用普通的 RenderScript SDK (android.renderscript.*) 时,Proguard 在代码上工作得很好。当在 proguard 不运行的非发布版本中编译时,代码与 RenderScript 支持库一起工作得很好。
但是,将两者放在一起,结果是这样的:
Warning: android.support.v8.renderscript.RenderScript: can't find referenced class android.os.SystemProperties
Warning: android.support.v8.renderscript.RenderScript: can't find referenced class android.os.SystemProperties
Warning: android.support.v8.renderscript.RenderScriptThunker: can't find referenced method 'android.renderscript.RenderScript create(android.content.Context,int)' in class android.renderscript.RenderScript
You should check if you need to specify additional program jars.
Warning: there were 2 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
Warning: there were 1 unresolved references to program class members.
Your input classes appear to be inconsistent.
You may need to recompile them and try again.
Alternatively, you may have to specify the option
'-dontskipnonpubliclibraryclassmembers'.
我对proguard的了解已经足够危险了。我了解到的一件事是警告/错误消息中的建议往往不一定指向问题的实际原因。这一次也不例外:在警告中实施建议的更改不会导致输出发生任何变化。
RenderScript 支持库可以与 proguard 一起使用吗?如果是这样,是否需要在我的 proguard 配置中添加一些魔法才能使其正常工作?