2016-08-21 2 views
0

こんにちは私はこの人にこの仕事を手助けできることを願っていました。私はすべてのフィールド、メソッド、クラスの名前をパッケージで変更したい(一度に1つのクラスを行うこともできます)。私は、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 
    } 

} 

誰かが私に言うか、私にこれを実現するためのコードを与えることができれば、これができれば、素晴らしいことですそれ以外の言語で行っても大丈夫です。これは明らかに最後の手段で行われ、アクティビティやサービス、またはパッケージ外で参照されるその他のアンドロイドファイルではないクラスに対してのみ行われます。

+0

保護するためにコードを難読化したいのですか? – davidxxx

+0

@davidhxxx yeah –

+0

実際にあなたはapkをリリースするときに常にデコードされるあなたのアプリケーションコードを心配する必要はありません –

答えて

0

プロガードを試してみてください。無料です。 https://developer.android.com/studio/build/shrink-code.html

はまた、あなたがあなたのAPKのサイズを小さくするために提供される多くの機能があります。

現在地のAndroidでそれを使用する方法についてのドキュメントを持っています。縮小

コードを検出し、 未使用のクラス、フィールド、メソッドを削除し、付属コードライブラリからのものを含めて、あなたのパッケージ アプリから属性ProGuardの、で入手可能です(回避作業のためにそれを 貴重なツールを作ります64kの参照限界)。 ProGuard もバイトコードを最適化し、未使用のコード命令を削除し、 は残りのクラス、フィールド、メソッドを短い という名前で難読化します。難読化されたコードにより、APKは技術者 エンジニアを逆転させることが困難になります。これは、アプリが セキュリティのような機密性の高い機能(ライセンス認証など)を使用する場合に特に役立ちます。

関連する問題