SO の強化とネイティブ互換性チェックリスト
ユドゥン技術ガイド · エンジニアリングの原則と実践 · 日本語
SO の強化は、いくつかのシンボルを隠すことではなく、ネイティブ ライブラリがどのように構築、ロード、呼び出されるかを理解することから始まります。明確なロード チェーンと ABI 範囲により、戦略にテスト可能な境界が与えられます。
ネイティブ依存関係マップを構築する
サードパーティ SDK のネイティブ コンポーネントを含む、直接ロードされたライブラリ、推移的な依存関係、JNI 登録、および初期化順序を一覧表示します。
このマップは、どのライブラリを独立して変更できるか、またどのエクスポート制約またはロード制約を維持する必要があるかを示します。
- プライマリライブラリと依存ライブラリ
- JNI登録
- ロードタイミング
- サードパーティのネイティブ SDK
情報の種類に応じてコントロールを選択する
エクスポート、文字列、定数、プロトコル処理、および高価値関数は、さまざまなリスクにさらされます。
頻繁に実行される関数、アプリケーション起動の初期化、およびエラー パスには、特定のパフォーマンスと安定性への注意が必要です。
すべての ABI の証拠を収集する
出力にどの ABI が含まれているかを示し、各ターゲット アーキテクチャでのインストール、アプリケーションの起動、ライブラリのロード、および重要な JNI 呼び出しを確認します。
エミュレータの証拠は、実際のターゲット アーキテクチャを自動的に置き換えるものではありません。
- ABI は出力と一致します
- 依存関係の解決
- JNI コールの退行
- 障害を特定できる
APK およびサーバー コントロールを含むリリース
ネイティブ保護により分析コストが増加しますが、署名、承認済みバージョン、サーバー認証、および最終的な APK 回帰は独立したリリース責任を負います。
実際のリリース候補との境界を検証する
アプリケーション スタック、クリティカル パス、およびターゲット システム範囲を提供します。アカウント、アプリケーション、プロジェクトの詳細は、中央の Yudun プラットフォームによって処理されます。