以下の内容はhttps://kazzz.hatenablog.com/entry/20110520/p1より取得しました。


AndroidでAOP?

Twitterで@esmasuiさんにこんなものを教えて貰って愕然とした。
android-aspectj/ Google Code

ご存知の通りAndroidアプリケーションはJavaVMではなくDalvikで動作しており、AspectJが吐くJavaバイトコードはDalvik上では動かない。果たしてどのような実装にしているのか、AspectJを一からDakvik用に書きなおしたのか? とわくわくしてリポジトリを見たのだが..

Pune GTUG: Adding Aspect to Android

このブログによると、このプロジェクトの仕組みは

1. Javaコンパイラによりソースコードを.classファイルにコンパイルする
2. AspectJコンパイラにより、ポイントカットやアドバイスをウィーブ済みの.classファイルを生成する
3. 2.で生成した.classファイルを.dexファイルに変換する

これらをAntやMavenで統合し実行することでAspectJを使用可能とするもののようで、なるほどと膝を打つと同時にがっかりした。※

※ということは、AOPの醍醐味であるオンザフライで型(ある型を拡張した型)を生成することはできないってことだろう。




以上の内容はhttps://kazzz.hatenablog.com/entry/20110520/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14