0

外部の dex ファイルからアクティビティを読み込むことはできますか? 追加機能を含むアクティビティとクラスを含む dex ファイルをダウンロードすることでアプリケーションを拡張できるプラグイン スタイル アーキテクチャを考えています。

DexClassLoader とリフレクションを使用して、ダウンロードした dex ファイルからクラスのメソッドを読み込んで呼び出すことができました。しかし、どうにかしてこの手法を使用して、Activity をダウンロードして提示することはできますか? この新しいアクティビティをプログラムで登録して、インテントを使用して呼び出すことはできますか?

APKを使用して通常の手順で他のアクティビティをインストールし、インテントを使用してメインアクティビティからロードするか、インストール済みのアプリケーションを単に更新することが可能であることは知っていますが(推奨される方法はそうです)、すでにインストールされているものを拡張したいいくつかの追加クラスをダウンロードしてアプリケーションを作成し、同じ VM、同じサンドボックスですべてを実行します。

うーん、私が何を意味するのか理解できない場合はお知らせください。これは少し面倒です.. :)

4

1 に答える 1

1

こんにちは、外部の dex ファイルからアクティビティを読み込むことはできますか?

ではない正確に。アクティビティは、アプリケーションのマニフェストで事前定義する必要があります。

JRuby と Ruboto が使用するアプローチを試すことができます。マニフェストには、さまざまな実装で再利用されるアクティビティが 1 つあります。彼らのアプローチを完全に分析したわけではありませんが、彼らの活動がイベントを JRuby スクリプトに転送しているという印象を受けました。あなたの場合、アクティビティはイベントを DEX ファイルからロードされた他のクラスに転送します。

于 2011-02-08T14:30:16.567 に答える