Android Studio で AspectJ を構成しようとしています。
しかし、試行錯誤の末、うまくいきません!驚いたことに、Eclipse Kepler バージョンで動作させることができまし
た Android Studio で従った手順
- サンプル
Android
プロジェクトを作成しました - ファイル>設定>
AspectJ
プラグインセクションで検索 - build.gradle ファイルの構成を除いて、 Studio でこれ以上何もしないと仮定します
compile 'org.aspectj:aspectjrt:1.8.1'
build.gradle (Module:app) に追加- 戻るボタンの押下検出
Analytics_onBackPressed.aj
用に作成 - クリックイベント検出
Analytics_OnClick.aj
用に作成 - コンポーネントの oncreate イベント検出
Analytics_onCreate.aj
用に作成 - 上記の
*.aj
クラスが内部的に呼び出す必要な依存関係クラスを作成しました - マニフェストに必要な権限を追加
- プロジェクトを実行してもイベントが検出されない (ボタンのクリック、oncreate、または戻るボタンのクリック)
- これらのリンクをたどったReferenceLinkOne、ReferenceLinkTwo、およびReferenceLinkThree
私の質問は、AspectJ を Android Studio で動作させるためにさらに必要なことは何ですか
Eclipse で手順を実行し、AspectJ を機能させました
- ダウンロード
Eclipse
したケプラーのバージョン - http://download.eclipse.org/tools/ajdt/43/updateを検索した [Install New Software] オプションから
- インストール済み
AspectJ Development Tools (Required)
。 - サンプル Android プロジェクトを作成しました
- 戻るボタンの押下検出
Analytics_onBackPressed.aj
用に作成 - クリックイベント検出
Analytics_OnClick.aj
用に作成 - コンポーネントの oncreate イベント検出
Analytics_onCreate.aj
用に作成 - マニフェスト ファイルに必要なアクセス許可を追加
- プロジェクトを右クリックし、次の方法でプロジェクトを AspectJ に変換しました
- AspectJ ランタイム ライブラリを使用して構成された Java ビルド パス
- プロジェクトの実行中に、作成時にコンポーネントを検出し、戻るボタンを押すことができます
使用環境
Android スタジオ: 2.1.2
JRE: 1.8.0
Windows 7 エンタープライズ
どんな助けでも大歓迎です!
EDIT:1、出力から、まだAspectJが正しく構成されていません
このリンクに従って、*.aj
ファイルと対応する依存関係を含むEclipseからjarファイルを作成しました。AndroidManifest.xml
作成中に除外され、作成jar file
されましたjar
Android Studio でプロジェクトを作成しました。この *.jar ファイルを libs ファイルに配置しました。(apps> libs)
. 以下に示すように、AspectJ waving を有効にしました AspectJ
のプロパティを検索し、有効にしました プロジェクトを実行すると、 plugin にあるファイルに
入力したログが作成されます。残念ながら、これらのログは Android Studio のログには出力されません。
*.aj
私がまだ結論付けているフォームは、このプロジェクトで AspectJ が有効になっていないか、構成エラーがあります