Proguard 保留班级成员

发布于 2024-12-20 04:39:54 字数 733 浏览 0 评论 0原文

我如何告诉 proguard 保留我的班级成员?

我需要它们来实现 JSON 兼容性...

这是我的类:

package com.tools.app.holiday;

public class Holiday {  

    private String name;

    private Calendar dateFrom = Calendar.getInstance();

    private Calendar dateTo = Calendar.getInstance();

    ...

我已经尝试过,但它不起作用...

-keepclassmembers class com.tools.app.holiday.Holiday 

-keepclassmembers class com.tools.app.holiday.Holiday *{
    private String name;    
    private Calendar dateFrom;
    private Calendar dateTo;
}

我还实现了可序列化并做了:

-keepclassmembers class * implements java.io.Serializable {

但这一切都没有保留我的成员名称。 Proguard 总是将 ist 更改为 a, b, c :-( 我缺少什么?

How can I tell proguard to keep my classmembers?

I need them for JSON compatibility...

This is my class:

package com.tools.app.holiday;

public class Holiday {  

    private String name;

    private Calendar dateFrom = Calendar.getInstance();

    private Calendar dateTo = Calendar.getInstance();

    ...

I already tried, but it doesnt work...

-keepclassmembers class com.tools.app.holiday.Holiday 

-keepclassmembers class com.tools.app.holiday.Holiday *{
    private String name;    
    private Calendar dateFrom;
    private Calendar dateTo;
}

I also implemented serialisable and did:

-keepclassmembers class * implements java.io.Serializable {

But it all doesn't keep my member names. Proguard always changes ist to a, b, c :-(
What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

农村范ル 2024-12-27 04:39:54

所有类名都必须是完全限定的:

-keepclassmembers class com.tools.app.holiday.Holiday {
    private java.lang.String name;    
    private java.util.Calendar dateFrom;
    private java.util.Calendar dateTo;
}

默认情况下,如果您忘记了这一点,ProGuard 甚至会打印出消息。

All class names must be fully qualified:

-keepclassmembers class com.tools.app.holiday.Holiday {
    private java.lang.String name;    
    private java.util.Calendar dateFrom;
    private java.util.Calendar dateTo;
}

By default, ProGuard even prints out messages if you forget this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文