私のアンドロイドアプリケーション内でクラスのパラメータ名を取得しようとしています。使用可能なすべてのメソッドとそのパラメータのタイプと名前を出力するhelp()
メソッドに入力を供給します。パラメータ名を取得するには、私はparanamer jarを使用しようとしています。 paranamer.jarをモジュールライブラリとして追加しました。インポートして使用することができます。しかし、にパラメータ名データを生成するために、どのようにgradleにプラグインするのか分かりません。誰でも助けてくれますか? Javaはパラメータ名のデータを生成するために、paranamerをgradleで使用する
public void help() {
Method[] declaredMethods = myclass.class.getDeclaredMethods();
Paranamer paranamer = new CachingParanamer();
for (Method declaredMethod : declaredMethods) {
String[] parameterNames = paranamer.lookupParameterNames(declaredMethod, false);
//process paranamer.
}
}
私はアプリモジュールのbuild.gradleファイルに同じを追加することで同じことを試してみました。私のプロジェクトに外部ライブラリとしてparanamer-antとgenerator jarを追加しました。 、コンパイルされました。すべてがよさそうだ。しかし、パラメータルックアップはnullを返します。何か問題でも。私はもっと掘っています。お返事をありがとうございます。 – Rilwan
'paranamer-generator'は' paranamer-ant'の依存関係ですので、明示的に追加する必要はありません。これがAndroidで動作するはずですか?おそらく、Androidのビルドチェーンは、ジェネレータが何をしたかをもう一度取り除くでしょうか – Vampire
私は最終的なapkを逆コンパイルし、チェックしました、paranemerのREADMEによると、私たちがantのparanamer-generatorを使用している場合、最終クラスファイルには変数 '__PARANAMER_DATA'が含まれているはずです。残念ながら、そのような変数はありません。私はまだ何が間違っているか把握していません。 – Rilwan