Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我不明白为什么我们需要在 proguard.cfg 中使用关键字“-keep”。proguard 的目的是迷惑试图阅读源代码的人。在我看来,我们应该尽量让所有的代码都混淆,但是为什么我们使用“-keep”来保持一些源代码不变。
你是对的,为了获得最佳优化和混淆结果,你应该尽可能少地使用 -keep 。但是,如果代码正在执行反射,则可能需要使用这些选项来保留特定类、字段和方法及其原始名称。例如,外部配置文件可能包含类名,只有在类仍然存在时才能工作。