序文
Androidアプリケーションの開発には多くの問題があることを誰もが知っていると思いますが、実際、最終的にはプラグイン技術が必要です。
今日では、WeChat、QQ、Taobao、Tmall、Space、Ctrip、Dianping、Mobile Managerなどのプラグインテクノロジーの使用が非常に一般的です。誰もが慣れていないこれらのアプリケーションは、すべて使用されています。
プラグインテクノロジーは、並列で効率的な開発、モジュールのデカップリング、65535を超えることのできない単一のdex関数の制限の解除、動的な更新とアップグレード、オンデマンドの読み込みなど、プロジェクト開発に大きなメリットをもたらすことができます。
プラグインテクノロジーを習得するには、次のようなAndroidの基本と関連知識が必要です。
-
Androidアプリケーションのインストール、読み込みプロセス
-
Androidアプリケーションの操作メカニズム、ライフサイクル呼び出しの原則
-
Androidアプリケーションリソースのコンパイルとパッケージ化の原則
-
Androidアプリケーションの読み取りリソースの原則
-
AndroidシステムAMS、PMS、NMSおよびその他のシステムサービスの動作原理
-
インクリメンタルアップデート
- HOOKおよびその他のテクノロジー
この記事では、基本的なプラグインの原則からAndroidプラグインの予備調査、そしてDachangアーキテクチャの進化の実際のアプリケーションまで、より包括的で完全なAndroidプラグインテクノロジーとAndroid開発へのプラグインの重要性を要約します。
プラグインの原理
1.クラスの読み込み
2.親の委任メカニズム
3.リソースの読み込み
4.4つの主要コンポーネントのサポート
5ProxyActivityプロキシ
6フックウェイ
7その他のコンポーネント
8Android動的ローディングフレームワークDLのアーキテクチャと基本原則の分析
9AndroidプラグインフレームワークDynamicLoadApkソースコード分析
Androidプラグインの最初の調査
1.プラグインフレームワークを最初から実装する(1)
-
概念
-
プラグインによって解決される問題
-
プラグインフレームワークの比較
-
プラグインの実装
- ClassLoader実装クラス
2.プラグインフレームワークを最初から実装します(2)
-
アクティビティ開始プロセス
-
フックポイントを探す
-
コードステージ
-
プロキシオブジェクト
-
日を変更し、元のインテントを置き換えます
-
ActivityThread
-
エージェントの意図を元に戻す
- 注意
3.プラグインフレームワークを最初から実装します(3)
-
プラグインリソースの読み込み
-
Androidでのリソース読み込みプロセス
-
ActivityManager
-
ActivityThread
-
AppCompatActivity
- 総括する
大きな工場アーキテクチャの進化
1.360プラグイン開発用のDroidPlugin
-
プラグイン開発の360DroidPluginソースコード分析
-
フックメカニズムクラス図の関係
-
フック機構のタイミング図関係
-
マニフェスト許可申請
-
基本クラスのフックは何をしますか?
-
ProxyHook
-
BaseHookHandle
-
HookedMethodHandler
-
ReplaceCallingPackageHookedMethodHandler
-
IOリダイレクト
-
再帰的トラバーサル
-
例としてIPackageManagerを取り上げます
- プラグイン開発の360DroidPluginソースコード分析用のバインダーエージェント
2. DidiVirtualApk戦闘
-
構成
-
応用
-
原理
-
総括する
- 問題
3. VirtualAPKAndroid再構築に基づくプラグイン
-
プラグインHelloWorld
-
プラグインフレームワークの選択
-
プラグインの原理
-
プラグインを導入することの苦痛
- 総括する
4.iqiyiプラグイン原理分析のネプチューンフレームワーク
-
プラグインの基本的な知識
-
クラスの読み込み
-
プラグイン化におけるリソース使用制限
-
Apkパッケージングプロセス
-
4つの主要コンポーネントのプラグイン
-
ネプチューンソースコード分析
-
プラグインアクティビティタスクスタック
- プラグインでブロードキャストを処理する
5.360オープンソースの包括的なプラグインフレームワークRePluginの実際の戦闘
-
RePluginの紹介
-
ホストアクセス手順
-
プラグインアクセス手順
- ラックを使用する
6.Tencentプラグインフレームワークシャドウプロジェクト分析
-
フレームワークの簡単な紹介
-
フレーム構造分析
-
サンプルサンプルコードAndroidManifest.xml分析
-
アクティビティの実装
-
プラグインアクティビティの親クラスを置き換えます
-
サービスの実装
-
BroadcastReceiverの実装
-
ContentProviderの実装
-
フレームワーク自体は動的です
- 総括する
総括する:
プラグイン技術は、Androidのシニアエンジニアが持つべきスキルのひとつと言えます。2012年(Android版)のプラグインのコンセプトの導入から2016年のプラグインの開花まで、Android開発の必需品となっています。プラグイン技術がAndroid技術の進歩をリードしていると言えます。
シニアプログラマーは勤勉でなければならず、原則を理解するだけでなく、会社の製品に新しいテクノロジーを適用することで、多数の新しいテクノロジーと新しいフレームワークをすばやく習得できる必要があると思います。これはプログラマーの作業能力を測定するための重要な基準ですが、テクノロジーを自由に使用するにはどうすればよいでしょうか。練習するだけです。
このフルバージョンのAndroidAdvancedプラグインと拡張された実際のドキュメントが必要な場合は、私の記事をサポートするだけで済みます。
クイックスタートチャンネル:(ここをクリック)ダウンロードしてください!誠意あふれる!!!
Androidアーキテクチャの詳細については、こちらから無料で入手できます。
整理するのは簡単ではありません。役立つと感じた友達は、編集者のように、共有し、サポートすることができます〜
あなたのサポート、私のモチベーション;私はあなたにすべての明るい未来と絶え間ない申し出を望みます!!!