トップページ > プログラム > 2014年03月18日 > tw3wye9q

書き込み順位&時間帯一覧

11 位/225 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000003104



使用した名前一覧書き込んだスレッド一覧
◆pH8G8fStbc
★★Java質問・相談スレッド168★★

書き込みレス一覧

★★Java質問・相談スレッド168★★
80 : ◆pH8G8fStbc [sage]:2014/03/18(火) 21:12:00.87 ID:tw3wye9q
質問失礼します。

JavaでMacのドックアイコン(下のアイコン)を変えたいです。
--------
Application clApp = Application.getApplication();
Class<? extends Application> clClass = clApp.getClass();
Method clMethod = clClass.getMethod("setDockIconImage", new Class[] { Image.class });
clMethod.invoke(clApp, new Object[] { clImage });
--------
上記のコードで変える事ができました。

が、proguard4.10で難読化した後試したら、Application.getApplicationの個所でRuntimeExceptionが出てしまいました。
(エラーメッセージは"Unimplemented"でした)

Application内のソースを見たのですが、
--------
static RuntimeException unimplemented()
{
return new RuntimeException("Unimplemented");
}

public static Application getApplication() {
throw unimplemented();
}
--------
となっていました。

難読化した後のjarで正常にアイコンが表示されるようにしたいのですが、proguardのどの辺を修正すれば良いでしょうか?

分かる方、お願いします。
★★Java質問・相談スレッド168★★
85 : ◆pH8G8fStbc [sage]:2014/03/18(火) 21:34:19.64 ID:tw3wye9q
>>80 です。
解決しました!

あろうことか、Application と getApplication の名前を変えていたようです。
Shrinking -> Keep additional classes and class members に com.apple.** を追加してやって、
Class members に <fields> と <methods> (要は全て)を登録する事で解決できました。

口頭でも文章でも人に問題を説明すると、どこが問題か自分で見つけやすくなりますね^^;
ありがとうございましたー。
★★Java質問・相談スレッド168★★
87 : ◆pH8G8fStbc [sage]:2014/03/18(火) 21:46:30.86 ID:tw3wye9q
>>86
部下4人いますけどwww
★★Java質問・相談スレッド168★★
90 : ◆pH8G8fStbc [sage]:2014/03/18(火) 22:04:50.45 ID:tw3wye9q
>>88
分かった分かった。

お前みたいな奴とは一緒に仕事したくないから人事から相談きたら速攻却下。
俺の会社入れないわ。

もう最後にするけど、問題解決したから誰が何と言おうと俺の勝ちだわwww
じゃーな。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。