公開資料は再現可能な実装パターンを中心にします。再配布制限のあるSDK、ファームウェア、メーカー資料は承認済み経路に限定します。
方法、バージョン、制約を伴う比較可能な根拠。
- 正確なデバイス モデル、地域バリアント、 Android ビルド、ファームウェア、承認された SDK リリース。
- 読み取り専用検査を管理者レベルの制御から区別する展開ポリシー。
- 変更されるキー、ステータスバー、またはアプリケーション設定に依存しない回復パス。
公開基準
版管理された根拠とともにAndroid業務連携を構築。
公開資料は再現可能な実装パターンを中心にします。再配布制限のあるSDK、ファームウェア、メーカー資料は承認済み経路に限定します。
- 01
バージョン管理された機能のスナップショットを取得する
モデル、地域、 Android バージョン、セキュリティ パッチ、ファームウェア、 SDK、アプリケーション ビルド、アクセサリ、および利用可能な周辺機器を記録します。製品ファミリ名だけでは展開結果を再現するのに十分ではありません。
- 02
特権制御から検査を分離する
ID、ソフトウェア バージョン、機能の読み取りを診断画面で利用できるようにします。ステータス バー、ネットワーク プロファイル、キオスク、アプリケーションのインストール、および同様の操作を、ホワイトリストと監査レコードを使用して管理者が制御する展開アクションとして扱います。
- 03
ハードウェア入力の変更を元に戻せるようにする
アプリケーションレベルのキー処理を優先します。導入で物理マッピングを変更する必要がある場合は、一度に 1 つの変更を適用する前に、元のキー コード、アクション、およびインターセプト状態のスナップショットを作成します。
- 04
ゲート、検証、復元
ターゲットのワークフローを実行し、再起動してチェックを繰り返します。 before/after の結果と制限を保存し、元の状態に復元するか、物理的な回復手順で承認された展開記録を保持します。
サンプルアプリ / Kotlin
SDK・APIパターン
オリジナルのポートパターン。それをプライベートアダプター内の承認されたデバイス SDK にバインドします。特権呼び出しをアプリケーション ワークフロー層から遠ざけます。
enum class DeviceCapability {
BARCODE, PRINTER, PHYSICAL_KEYS,
MAGNETIC_STRIPE, CONTACT_CARD,
CONTACTLESS_CARD, SECURE_MODULE,
}
data class DeviceBaseline(
val model: String,
val region: String,
val android: String,
val firmware: String,
val sdk: String,
val appBuild: String,
val capabilities: Set<DeviceCapability>,
)
data class KeySnapshot(
val keyCode: Int,
val action: String?,
val intercepted: Boolean,
)
interface DeviceCapabilityPort {
fun readBaseline(): DeviceBaseline
fun snapshotKey(keyCode: Int): KeySnapshot?
fun applyKeyAction(keyCode: Int, action: String)
fun restoreKey(snapshot: KeySnapshot)
}
class DeploymentInspector(
private val device: DeviceCapabilityPort,
) {
fun inspect(): DeviceBaseline = device.readBaseline()
fun applyTemporaryKey(
keyCode: Int,
action: String,
) {
val original = device.snapshotKey(keyCode)
?: error("key-mapping-unavailable")
try {
device.applyKeyAction(keyCode, action)
} catch (error: Throwable) {
device.restoreKey(original)
throw error
}
}
}SDK配布
公開ゲート
ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。
デプロイメントを準備完了としてマークし、近くのバリアントからのギャップを埋めるのではなく、モデル固有の診断を要求します。
読み取り専用の結果を保持し、必要な管理者のスコープを記録し、より幅広い権限で再試行しないでください。
これをセッション専用としてマークし、元のマッピングを復元し、承認された展開プロファイルに永続性を移動します。
物理的な回復手順を使用して、スナップショットを復元し、ロールアウトから変更を削除します。
証拠ステータス
方法、バージョン、制約を伴う比較可能な根拠。
- 01
テスト前に、モデル、地域、 Android、ファームウェア、 SDK、アプリケーション ビルド、およびアクセサリを記録します。
- 02
コールド スタート、アプリの再起動、再起動後に読み取り専用機能ビューアを実行します。
- 03
承認された展開ポリシーを使用してのみ特権制御を実行し、権限の境界を記録します。
- 04
キーの復元、システム ナビゲーション、永続性の動作、および物理的な回復パスを確認します。
資料
SDK・APIパターン
ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。