2016-08-21 66 views
0

您好,我希望这里有人能帮我完成这项任务。我想改变一个包中的所有字段,方法和类的名称(一次只做一个类也可以)。我知道,即使使用Java Reflection,我也无法在课堂之外对其进行更改。更改类名称,方法名称并将其导出

我的示例Java类:

public class Foo { 

    private final Object foo = ... 
    private Object foo1 = ... 

    private void foo(){ 
     Object foo; 
    } 

} 

生成的类应该成为:

public class A{ 

    private final Object a= ... 
    private Object b = ... 

    private void a(){ 
     Object a; //if possible 
    } 

} 

这将是巨大的,如果有人能告诉我或给我的代码来实现这一点,如果这能在任何其他语言上完成它也会很棒。这显然将在最后的手段完成,并且只会对不在活动或服务或任何其他在包之外引用的android文件的类执行。

+0

你想混淆你的代码来保护它吗? – davidxxx

+0

@davidhxxx是啊 –

+0

其实你不必担心你的应用程序代码总是解码,当你发布apk –

回答

0

尝试proguard,它是免费的。

你必须了解如何与Android在这里使用它的文档: https://developer.android.com/studio/build/shrink-code.html

而且,你提供的减少你的APK的大小,许多功能。

代码萎缩可使用ProGuard,它可以检测并删除 未使用的类,字段,方法,并从包装 应用属性,包括那些包含的代码库(使其成为 有价值的工具,围绕工作64k参考极限)。 ProGuard 还优化了字节码,删除了未使用的代码指令,并且使用短的 名称对其余的类,字段和方法进行混淆。混淆代码会让您的APK难以反转 工程师,这在您的应用使用 安全敏感功能(如许可证验证)时尤其重要。