android-expert 是 Amethyst 多平台项目(vitorpamplona/amethyst)中 Android 平台相关的开发技能,面向 amethyst/ 模块与 androidMain/ 源集,帮助在 KMP 架构下按项目既有模式编写 Android 代码。资料来源给出的适用时机包括:使用 Android 导航(Navigation Compose、类型安全路由、底部导航)、处理运行时权限(相机、通知、生物识别)、调用平台 API(Intent、Context、Activity)、使用 Material3 主题与 edge-to-edge UI、进行 Android 构建配置(Proguard、APK 优化)、配置 AndroidManifest.xml,以及处理 Android 生命周期(ViewModel、collectAsStateWithLifecycle)。
核心思路是单 Activity 架构加 Compose Navigation:MainActivity 作为唯一入口,调用 enableEdgeToEdge(),外层用 AmethystTheme 包裹,内部是 NavHost;路由以 @Serializable 类型安全方式定义(如 Route.Home、Route.Profile、Route.Note),Intent Filter 覆盖 ACTION_MAIN、ACTION_SEND、ACTION_VIEW 深链与 NFC 发现等场景。资料强调的原则包括:类型安全导航而非字符串路由、按上下文声明式申请权限、edge-to-edge 配合 Insets、ViewModel 与 Flow 驱动状态以应对配置变更,以及把 Android 代码隔离在 amethyst/ 或 androidMain/ 中。
主要能力覆盖五个方面:一是导航,给出 Route 密封类、NavHost、Nav 管理器(nav/newStack/popBack)和 Material3 底部导航的模式;二是权限,使用 Accompanist 的 rememberPermissionState 与 rememberMultiplePermissionsState 处理授权、说明与请求,并列出 Amethyst 的 Manifest 权限声明(网络、相机、录音、存储、通知、NFC、粗略定位、前台服务等);三是 Material3 与 edge-to-edge,包括明暗配色方案、AmethystTheme 以及 Scaffold 与 systemBarsPadding 处理系统栏;四是 ViewModel 与生命周期,示范 MutableStateFlow/StateFlow、collectAsStateWithLifecycle、LifecycleResumeEffect 与 DisposableEffect 的资源清理;五是平台 API,包括 LocalContext 获取 Activity、Intent 分享与深链跳转等。
使用方式上,资料未提供独立的安装或调用命令,相关代码片段均为项目内的 Kotlin 写法示例;具体如何触发该技能、版本要求、完整引用文档(如 references/android-navigation.md、references/android-permissions.md)等内容,资料仅部分提及,其余暂未提供。限制方面,资料未说明收费、价格、平台支持范围或效果保证,实际行为应以项目源码为准;示例含实验性 API(如 Accompanist 权限)与特定 Android 版本判断,需按项目当前依赖与目标 SDK 核对。