jar ファイルで ProGuard を使用すると、 への呼び出しが壊れましたclass.getResource("")
。-keepdirectories mypackage
ProGuard のマニュアルで、 (マニュアル リンク)を指定する必要があることを確認しました。ただし、-keepdirectories
オプションを指定しましたが、機能していないようです。ProGuard の設定に何か問題があると思います。この関連する質問も見ましたが-keeppackagenames
、うまく動作しません。
私のコードでは、次のようなものがあります。
package com.example.mypackage;
public class MyClass{
public static void main(String [] args){
//url is always returned as null
URL url = MyClass.class.getResource("");
//do additional stuff including retrieving manifest file
}
}
ProGuard の構成
-injars ...
-outjars ...
-libraryjars ...
-dontoptimize
-keepattributes SourceFile,LineNumber,Table,LocalVariable*Table,*Annotation*
-renamesourcefileattribute SourceFile
-repackageclasses
-overloadaggressively
-keep public class com.example.mypackage.MyClass{
public static void main(java.lang.String[]);
}
-keepdirectories com.example.mypackage,com.example.mypackage.MyClass
-keeppackagenames com.example.mypackage,com.example.mypackage.MyClass