我要混淆我的库,它有一些带有app的Common DTO。我的应用程序使用此DTO。 我创建了两个包含其他设置的 proguard-rules 文件。
好的是这种情况:
Error:(23, 41) error: package com.testlib.model.DTO does not exist
但它确实存在。我必须定义一个共同的规则 - 规则吗?这样的事情?
答案 0 :(得分:0)
你不应该以这种方式在Android中使用Proguard。
如果要在将该库导出到其他人之前保护某些库(例如:在发布之前使用proguard处理Google服务),则必须保持所有公共API不被混淆(例如,在您的情况下使用公共DTO)。但由于您的库模块不适合外部使用,您可能根本不想使用Proguard处理它。
如果您想保护生成的应用,只需将Proguard应用于生成的应用。您根本不必将其应用于其他模块。在编译应用程序模块的过程中,Android构建工具将所有依赖项集合在一起,并立即将Proguard应用于所有这些工具,包括应用程序代码和库代码。因此,您的应用程序proguard规则将包含应用程序代码及其所有依赖项的规则。