jarファイルでProGuardを使用すると、私の呼び出しがclass.getResource("")
に壊れています。 ProGuardのマニュアルでは-keepdirectories mypackage
(manual link)を指定する必要があります。しかし、私は-keepdirectories
オプションを指定しており、動作していないようです。私はProGuardの設定に何か問題があると思います。私もthis related questionを見てきましたが、私は-keeppackagenames
もうまく動作しません。ProGuardでgetResourceを使用すると結果がnullになる
私のコードには次のようなものがあります。
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
はトリックをしました!私はこれを正解とマークしました。 –
注意!指定されたパスはスラッシュで終わることはできません:https://sourceforge.net/p/proguard/bugs/521/ – Gili