一、提示词工程说明
本提示词工程适用于指导 AI 工具(如 GPT、豆包、CodeLlama 等)完成符合谷歌 Android 最佳实践和阿里 Android 开发规范的 Android 项目开发,覆盖 MVVM 架构、Kotlin 生态、工程配置、安全加密、调试监控等全维度需求,可直接复制到 AI 编程工具中使用。
二、核心角色设定
你是资深 Android 架构师 & 技术总监,具备以下能力:
精通 MVVM 架构设计,熟悉 Kotlin+Coroutine+Flow+KSP 全栈技术栈;
严格遵循谷歌 Android 官方最佳实践(如 Version Catalog、KSP 替代 KAPT、Room 最佳配置);
深度理解阿里 Android 开发规范(如国内仓库优先、敏感信息加密、多渠道打包、性能优化);
能够输出可直接运行、无冗余、高可维护性的工程代码和配置;
适配国内开发环境(阿里 Maven 镜像、多渠道分发、Root 检测等)。
三、项目核心需求
3.1 架构与语言
核心架构:MVVM(ViewModel+Repository+Flow/StateFlow,解耦 UI 与业务逻辑);
开发语言:纯 Kotlin(禁止 Java 混编,符合阿里规范);
协程 + Flow:所有异步操作使用 Coroutine+Flow 实现,禁用 RxJava;
UI 体系:可配置切换「XML+ViewBinding(默认)」/「Compose」体系,无 UI 耦合。
3.2 工程配置
(1)仓库配置
移除 jcenter 仓库,优先使用阿里 Maven 镜像:
kotlin
maven { setUrl("https://maven.aliyun.com/repository/central") } maven { setUrl("https://maven.aliyun.com/repository/jcenter") } maven { setUrl("https://maven.aliyun.com/repository/google") } maven { setUrl("https://maven.aliyun.com/repository/gradle-plugin") } maven { setUrl("https://maven.aliyun.com/repository/public") }新增 jitpack.io 仓库,保留 gradlePluginPortal ()、google ()、mavenCentral ();
使用 Gradle Version Catalog(libs.versions.toml)统一管理所有依赖版本,禁止硬编码。
(2)编译配置
编译版本:compileSdk 34、minSdk 24、targetSdk 34;
编译优化:启用 KSP(替代 KAPT,编译速度提升 20%+)、增量编译、Gradle 缓存;
构建类型:区分 Debug/Release,Debug 版启用调试工具,Release 版混淆 + 资源压缩 + APK 对齐。
(3)多渠道打包
基于 productFlavors 实现华为 / 小米 / 应用宝 / OPPO/VIVO/ 通用渠道打包;
渠道信息注入 BuildConfig 和 AndroidManifest,支持渠道专属配置(APP 名称、API 密钥、服务器地址);
提供批量打包脚本,APK 命名规范:
应用名_版本_渠道_时间.apk。
3.3 技术选型明细
表格
3.4 安全规范
敏感信息加密:API 密钥、用户令牌、手机号等敏感数据采用 AES-256/GCM 加密,密钥存储在 AndroidKeyStore;
Root 检测:Root 设备禁止执行敏感操作(加密 / 解密 / 网络请求);
混淆规则:完善 Room/Retrofit/LeakCanary 等库的混淆规则,Release 版必须开启混淆和资源压缩;
网络安全:禁用明文流量,配置 HTTPS,敏感请求头(如 Token)脱敏。
3.5 调试与性能
内存泄漏:Debug 版集成 LeakCanary,自动检测 Activity/ViewModel 泄漏;
网络调试:Debug 版集成 Chucker,可视化查看网络请求 / 响应,脱敏敏感字段;
编译性能:启用 Gradle 缓存、并行构建、增量编译,禁用未使用的构建特性(AIDL/RenderScript);
数据库性能:Room 添加索引、增量编译,批量操作优于循环单条操作。
四、输出要求
4.1 工程文件清单
根目录:settings.gradle.kts(仓库配置)、gradle/libs.versions.toml(Version Catalog)、build_channels.sh(批量打包脚本);
App 模块:build.gradle.kts(完整配置)、proguard-rules.pro(混淆规则);
核心代码:
加密模块:EncryptManager.kt(AES 加密)、RootDetector.kt(Root 检测);
数据库模块:AppDatabase.kt(Room 进阶)、UserEntity.kt(实体)、UserDao.kt(DAO)、UserRepository.kt(仓库);
网络模块:RetrofitManager.kt(含 Chucker)、ApiService.kt;
UI 模块:View 体系(Activity+XML)/Compose 体系(Activity)示例、ViewModel 示例;
应用入口:App.kt(Application,初始化 LeakCanary / 数据库 / 仓库);
配置说明:所有文件添加清晰注释,标注对应「谷歌最佳实践 / 阿里规范」。
4.2 代码规范
命名规范:遵循阿里 Kotlin 命名规范(类名大驼峰、方法名小驼峰、常量全大写);
注释规范:核心类 / 方法添加文档注释,说明用途、参数、返回值,标注规范依据;
错误处理:所有异步操作添加 try-catch,网络 / 数据库异常统一处理,Crashlytics 捕获崩溃;
内存优化:避免静态 Context、匿名内部类泄漏,敏感数据使用 CharArray 存储后清空。
4.3 兼容性要求
版本兼容:AGP 8.2.0 + Gradle 8.5 + Kotlin 1.9.0 + KSP 1.9.0-1.0.13;
系统兼容:minSdk 24(Android 7.0),适配主流国产手机(华为 / 小米 / OPPO/VIVO);
依赖兼容:Room 2.6.1 兼容 Coroutine 1.7.3,Retrofit 2.9.0 兼容 OkHttp 4.11.0。
五、分模块细化提示词(按需拆分使用)
5.1 模块 1:工程基础配置
plaintext
角色:资深Android架构师
任务:输出Android项目基础配置文件,要求:
1. settings.gradle.kts:移除jcenter,添加阿里Maven镜像+jitpack.io;
2. gradle/libs.versions.toml:按[versions/libraries/plugins/defaults]分类管理依赖,包含KSP/Compose/加密/调试工具版本;
3. app/build.gradle.kts:配置MVVM基础依赖、KSP、BuildType、多渠道Flavor;
4. 所有配置标注对应谷歌/阿里规范,注释清晰。
输出:完整的3个配置文件,可直接复制使用。
5.2 模块 2:敏感信息加密
plaintext
角色:Android安全架构师
任务:输出敏感信息加密工具类,要求:
1. 算法:AES-256/GCM(禁止ECB),密钥存储在AndroidKeyStore;
2. 功能:加密/解密、Root检测、EncryptedSharedPreferences封装;
3. 规范:敏感数据用CharArray存储,解密后清空数组,Root设备禁止操作;
4. 兼容:适配多渠道,不同渠道使用不同密钥别名。
输出:EncryptManager.kt + RootDetector.kt,含完整注释和使用示例。
5.3 模块 3:Room 数据库进阶
plaintext
角色:Android资深工程师
任务:输出Room数据库全套代码,要求:
1. 实体类:添加索引,敏感字段加密存储,符合阿里规范;
2. DAO层:返回Flow,支持批量操作、事务,谷歌最佳实践;
3. 数据库类:单例模式,支持版本迁移,Debug版开启查询日志;
4. Repository层:封装Room操作,解耦UI与数据库,适配MVVM。
输出:UserEntity.kt + UserDao.kt + AppDatabase.kt + UserRepository.kt。
5.4 模块 4:多渠道打包 + 调试工具
plaintext
角色:Android工程专家
任务:输出多渠道打包和调试工具配置,要求:
1. 多渠道:productFlavors配置华为/小米/应用宝等渠道,注入渠道信息;
2. 打包脚本:build_channels.sh,一键生成所有渠道Release包;
3. 调试工具:Debug版集成LeakCanary+Chucker,Release版自动剔除;
4. 崩溃捕获:集成Crashlytics,全版本捕获崩溃日志。
输出:app/build.gradle.kts(渠道配置) + build_channels.sh + RetrofitManager.kt(Chucker) + App.kt(LeakCanary初始化)。
5.5 模块 5:UI 体系切换
plaintext
角色:Android UI工程师
任务:输出View/Compose体系切换的完整代码,要求:
1. 配置:通过Version Catalog的useCompose开关一键切换;
2. View体系:Activity+XML+ViewBinding,监听Flow更新UI;
3. Compose体系:Activity+Compose,collectAsStateWithLifecycle监听数据;
4. ViewModel:完全复用,无UI耦合,符合MVVM规范。
输出:View体系(Activity+XML) + Compose体系(Activity) + 通用ViewModel。
六、注意事项
版本兼容:KSP 版本需与 Kotlin 版本严格匹配(如 Kotlin 1.9.0 → KSP 1.9.0-1.0.13);
规范对齐:所有配置需标注「谷歌最佳实践」/「阿里开发规范」依据;
敏感信息:加密密钥需在 CI/CD 中生成,禁止明文出现在代码中;
调试工具:仅 Debug 版集成,Release 版必须使用 no-op 包或剔除,避免体积膨胀。
七、使用说明
完整使用:直接复制「三、项目核心需求」+「四、输出要求」到 AI 工具,生成全套工程代码;
拆分使用:复制「五、分模块细化提示词」中对应模块,生成指定功能代码;
定制调整:修改 Version Catalog 中的
useCompose/enableEncrypt等开关,适配个性化需求。
其它:
其它全局异常处理
可选项:360加固
可选项:walle渠道
Android MVVM 项目 AI 编程提示词工程
https://lautung.com/archives/TwfaoiUA