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.
我的应用程序中有多个提供public static void main(String[] args)方法的类。这些方法仅在开发/测试期间需要,我希望 ProGuard 删除它们(但只有这些方法,而不是整个周围的类)。我试过使用-assumenosideeffects,但这似乎只影响对方法的调用,而不是方法本身。main()尽管它们是publicand ,我如何强制 Proguard 删除整个方法static?
public static void main(String[] args)
-assumenosideeffects
main()
public
static
ProGuard 需要种子来确定需要保留哪些类/方法。从这些种子中引用的任何内容也将被保留。
该-assumenosideeffects选项用于删除对结果未以任何方式使用的方法的实际调用,但并不一定意味着该方法本身已被删除。
在您的特定情况下,您可能有一个保留所有public static void main(String[])方法的规则,因为这将是 Java 应用程序的标准种子。
public static void main(String[])
-whyareyoukeeping您可以使用该选项分析保留特定方法/类的原因。
-whyareyoukeeping