App 开发完整指南:Android、iPhone/iOS、跨平台开发与 Android 应用从申请到上线全流程
适合对象:前端开发工程师、移动端初学者、独立开发者、准备开发并上架 Android App / iPhone App 的开发者。 更新时间:2026 年 6 月。 说明:本文把 App 开发基础知识、Android 原生开发、iPhone/iOS 原生开发、跨平台开发、完整项目流程、Android 应用从申请到上线流程、常见审核问题与解决方案、官方资源链接 全部整合到一起。 注意:应用市场规则会持续变化,正式提交前请以各平台最新官方文档为准。
目录
一、App 开发到底是什么二、Android App 开发详细讲解三、iPhone / iOS App 开发详细讲解四、Android 和 iPhone App 的区别五、跨平台 App 开发方案六、前端开发者怎么选择 App 技术路线七、App 开发完整流程八、App 项目必须掌握的核心模块九、实际项目案例:商城 App十、Android 应用从申请到上线完整流程十一、上线前资料准备十二、开发者账号申请流程十三、APP 备案、软著、隐私政策与资质准备十四、Android 项目打包前检查十五、签名、APK、AAB 详细讲解十六、Google Play 上架完整流程十七、国内安卓应用市场上架流程十八、审核常见问题与解决方案十九、上线后的版本更新流程二十、上线前检查清单二十一、官方资源和文档链接表二十二、推荐学习路线二十三、总结建议
一、App 开发到底是什么
App 开发就是为手机、平板、车机、手表等移动设备开发应用程序。
常见 App 类型包括:
类型平台常用技术Android App小米、华为、OPPO、vivo、三星、Pixel 等 Android 设备Kotlin、Java、Jetpack Compose、Android StudioiPhone App / iOS AppiPhone、iPadSwift、SwiftUI、UIKit、Xcode跨平台 App一套代码同时打包 Android 和 iOSFlutter、React Native、uni-app、Kotlin MultiplatformH5 App / Hybrid AppApp 内嵌 Web 页面WebView、Vue、React、JavaScript小程序类应用微信、支付宝、抖音、百度、快应用等小程序框架、uni-app、Taro
1. 原生 App
原生 App 是分别使用 Android 和 iOS 官方技术开发。
Android:Kotlin / Java + Android Studio
iOS:Swift / Objective-C + Xcode
优点:
性能最好
系统能力支持最完整
用户体验更接近系统原生
适合大型复杂项目
适合需要深度调用相机、蓝牙、定位、支付、推送等能力的项目
缺点:
Android 和 iOS 要写两套代码
开发成本更高
团队要求更高
维护成本更高
2. 跨平台 App
跨平台 App 是用一套代码同时开发 Android 和 iOS。
常见方案:
Flutter
React Native
uni-app
Kotlin Multiplatform
Taro
Ionic
优点:
一套代码多端运行
开发效率高
适合中小团队
适合前端开发者快速转移动端
缺点:
部分原生能力仍需要写插件
复杂性能优化难度较高
某些平台差异仍需要单独适配
3. Hybrid App
Hybrid App 是原生壳 + WebView 页面。
常见结构:
原生 App 外壳
+
WebView 加载 H5 页面
适合:
活动页
营销页
内容展示页
企业内部应用
快速迭代页面
不适合:
高性能动画
复杂视频处理
大型游戏
重度原生交互
二、Android App 开发详细讲解
1. Android App 用什么开发
Android 官方推荐现代开发方式:
Kotlin + Jetpack Compose + Android Studio
也可以使用传统方式:
Java / Kotlin + XML 布局 + Android View 系统
2. Android 推荐技术栈
模块推荐选择说明编程语言KotlinAndroid 官方主推语言,语法现代兼容语言Java老项目仍大量使用开发工具Android Studio官方 IDEUI 开发Jetpack Compose声明式 UI,类似 React / Vue 思想传统 UIXML + View老项目和部分复杂场景仍常用架构MVVM / Clean Architecture企业项目常见架构状态管理ViewModel + StateFlow管理页面数据和状态网络请求Retrofit + OkHttpAndroid 常用网络请求方案JSON 解析Kotlinx Serialization / Gson / Moshi解析后端接口数据本地数据库Room / SQLite本地数据存储简单存储DataStore / SharedPreferences保存 token、设置项图片加载Coil / Glide加载网络图片异步处理Kotlin Coroutine / Flow协程和响应式流依赖注入Hilt / Koin管理对象依赖分页Paging 3列表分页导航Navigation Compose页面跳转打包格式APK / AABAPK 适合国内市场,AAB 适合 Google Play发布平台Google Play / 国内应用市场应用分发
3. Android Studio 是什么
Android Studio 是 Google 官方 Android 开发工具,用来:
创建项目
编写 Kotlin / Java 代码
设计 UI 页面
运行模拟器
连接真机调试
查看日志
性能分析
打包 APK / AAB
上传和发布应用
官方文档:
Android Studio 官方下载与文档
4. Kotlin 是什么
Kotlin 是 Android 官方推荐的现代编程语言。
简单示例:
val name = "张三"
var age = 18
fun sayHello() {
println("你好,$name")
}
Kotlin 的特点:
语法简洁
空安全
支持函数式编程
和 Java 互通
适合 Android 现代开发
5. Activity 是什么
Activity 可以理解为 Android 中的一个页面入口。
示例:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text("你好,Android App")
}
}
}
传统理解:
一个 Activity 可以代表一个页面
一个 App 可以有多个 Activity
现在 Compose 项目中,也可以一个 Activity 管理多个页面
6. Jetpack Compose 是什么
Jetpack Compose 是 Android 的现代声明式 UI 工具包。
官方文档:
Jetpack Compose 官方文档Compose 入门文档
Compose 和前端框架思想很像。
Vue 写法:
Compose 写法:
@Composable
fun HomePage() {
Text(text = "首页")
}
核心思想:
UI = 状态的函数
状态变化
↓
界面自动更新
这和 React / Vue 的响应式 UI 思想非常接近。
7. Compose 常用组件
组件作用Text文本Button按钮TextField输入框Image图片Column垂直布局Row水平布局Box层叠布局LazyColumn长列表LazyRow横向列表Scaffold页面基础结构TopAppBar顶部导航栏BottomNavigation底部导航Card卡片Dialog弹窗Snackbar提示条
8. Compose 登录页示例
@Composable
fun LoginPage() {
var phone by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
Column(
modifier = Modifier.padding(24.dp),
verticalArrangement = Arrangement.spacedBy(16.dp)
) {
Text(
text = "登录",
fontSize = 28.sp,
fontWeight = FontWeight.Bold
)
TextField(
value = phone,
onValueChange = { phone = it },
label = { Text("请输入手机号") }
)
TextField(
value = password,
onValueChange = { password = it },
label = { Text("请输入密码") },
visualTransformation = PasswordVisualTransformation()
)
Button(
onClick = {
// 点击登录,调用接口
},
modifier = Modifier.fillMaxWidth()
) {
Text("登录")
}
}
}
9. Android 项目结构
常见项目结构:
app/
├── src/
│ ├── main/
│ │ ├── java/com/example/app/
│ │ │ ├── ui/ // 页面和组件
│ │ │ ├── viewmodel/ // ViewModel 状态管理
│ │ │ ├── data/ // 数据层
│ │ │ ├── network/ // 网络请求
│ │ │ ├── repository/ // 数据仓库
│ │ │ ├── model/ // 数据模型
│ │ │ └── MainActivity.kt // 入口 Activity
│ │ ├── res/ // 图片、图标、颜色、字体
│ │ └── AndroidManifest.xml // App 配置文件
├── build.gradle.kts
└── proguard-rules.pro
更规范的企业项目结构:
com.example.mall/
├── app/
├── core/
│ ├── network/
│ ├── database/
│ ├── common/
│ └── design/
├── feature/
│ ├── login/
│ ├── home/
│ ├── goods/
│ ├── cart/
│ └── profile/
└── data/
├── repository/
├── model/
└── datasource/
10. Android 常见架构:MVVM
MVVM 分为:
层作用Model数据模型,例如用户、商品、订单View页面 UI,例如登录页、首页、详情页ViewModel管理页面状态和业务逻辑
流程:
用户点击按钮
↓
UI 调用 ViewModel
↓
ViewModel 调用 Repository
↓
Repository 调用接口 / 数据库
↓
返回数据
↓
ViewModel 更新状态
↓
UI 自动刷新
示例:
class LoginViewModel : ViewModel() {
var phone by mutableStateOf("")
var password by mutableStateOf("")
var loading by mutableStateOf(false)
fun login() {
loading = true
// 这里通常会调用 Repository
// repository.login(phone, password)
}
}
11. Android 网络请求
常用技术:
Retrofit
OkHttp
Kotlin Coroutine
Flow
示例:
interface ApiService {
@POST("login")
suspend fun login(@Body body: LoginRequest): LoginResponse
}
data class LoginRequest(
val phone: String,
val password: String
)
data class LoginResponse(
val token: String,
val userName: String
)
12. Android 本地存储
类型技术适合存什么简单键值DataStore / SharedPreferencestoken、主题、语言数据库Room / SQLite聊天记录、商品缓存、离线数据文件File API图片、视频、下载文件安全存储Android Keystore密钥、敏感 token
13. Android 权限
常见权限:
权限用途CAMERA拍照、扫码ACCESS_FINE_LOCATION精准定位ACCESS_COARSE_LOCATION模糊定位RECORD_AUDIO录音、语音READ_MEDIA_IMAGES读取图片READ_MEDIA_VIDEO读取视频POST_NOTIFICATIONS通知BLUETOOTH_CONNECT蓝牙连接INTERNET网络访问
权限原则:
能不用就不用
能少申请就少申请
用户触发功能时再申请
申请前说明用途
隐私政策中写清楚权限用途
三、iPhone / iOS App 开发详细讲解
1. iPhone App 用什么开发
iPhone App 主要使用:
Swift + SwiftUI + Xcode
传统项目也可能使用:
Objective-C + UIKit
Swift + UIKit
官方文档:
Xcode 官方文档SwiftUI 官方文档Swift 官方文档
2. iOS 推荐技术栈
模块推荐选择说明编程语言SwiftApple 现代开发语言开发工具XcodeApple 官方 IDEUI 框架SwiftUI声明式 UI传统 UIUIKit老项目和复杂 UI 仍常用架构MVVM / MVC / Clean ArchitectureiOS 常见架构网络请求URLSession / Alamofire接口请求本地存储UserDefaults / Core Data / SQLite本地数据安全存储Keychain密码、token图片加载AsyncImage / SDWebImage图片加载测试XCTest / TestFlight单元测试和内测发布App Store Connect上架 App Store
3. Swift 是什么
Swift 是 Apple 推出的现代编程语言,可以开发:
iOS App
iPadOS App
macOS App
watchOS App
tvOS App
visionOS App
Swift 示例:
let name = "张三"
var age = 18
func sayHello() {
print("你好,\(name)")
}
特点:
语法简洁
类型安全
性能好
生态完整
适合 Apple 全平台开发
4. SwiftUI 是什么
SwiftUI 是 Apple 的声明式 UI 框架。
示例:
import SwiftUI
struct ContentView: View {
var body: some View {
Text("你好,iPhone App")
.font(.title)
.padding()
}
}
可以把 struct ContentView: View 理解成一个前端组件。
SwiftUI 也符合:
数据变化
↓
界面自动变化
这和 Vue / React 的思路很接近。
5. SwiftUI 常用组件
组件作用Text文本Button按钮TextField输入框SecureField密码输入框Image图片VStack垂直布局HStack水平布局ZStack层叠布局List列表NavigationStack页面导航TabView底部 TabForm表单Sheet弹出页面Alert提示框
6. SwiftUI 登录页示例
import SwiftUI
struct LoginView: View {
@State private var phone = ""
@State private var password = ""
var body: some View {
VStack(spacing: 20) {
Text("登录")
.font(.largeTitle)
.bold()
TextField("请输入手机号", text: $phone)
.textFieldStyle(.roundedBorder)
SecureField("请输入密码", text: $password)
.textFieldStyle(.roundedBorder)
Button("登录") {
// 调用登录接口
}
.buttonStyle(.borderedProminent)
}
.padding()
}
}
7. iOS 项目结构
常见项目结构:
MyApp/
├── App/
│ └── MyAppApp.swift // App 入口
├── Views/
│ ├── HomeView.swift // 首页
│ ├── LoginView.swift // 登录页
│ └── ProfileView.swift // 个人中心
├── ViewModels/
│ └── LoginViewModel.swift // 页面逻辑
├── Models/
│ └── User.swift // 数据模型
├── Services/
│ └── APIService.swift // 网络请求
├── Assets.xcassets // 图片、图标、颜色
└── Info.plist // App 配置
8. iOS 网络请求
使用 URLSession:
let url = URL(string: "https://api.example.com/login")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
print("请求失败:\(error)")
return
}
if let data = data {
print("请求成功:\(data)")
}
}
task.resume()
9. iOS 本地存储
类型技术用途简单存储UserDefaultstoken、设置、开关数据库Core Data / SQLite离线数据、复杂对象文件FileManager图片、文件缓存安全存储Keychain密码、token、敏感信息
10. iOS 权限
iOS 权限必须在 Info.plist 中说明用途。
常见权限:
权限用途Camera拍照、扫码Photo Library相册Location定位Microphone麦克风Bluetooth蓝牙Push Notifications推送Contacts通讯录
权限文案必须明确,不要写得太模糊。
例如:
错误:需要使用相机
正确:用于扫码登录、拍摄头像和上传资料图片
11. iOS 上架简要流程
iPhone App 上架主要通过 App Store Connect。
官方资源:
App Store ConnectSubmitting apps to the App StoreTestFlight 官方说明
流程:
注册 Apple Developer Program
↓
创建 App ID
↓
配置证书和描述文件
↓
Xcode Archive 打包
↓
上传 App Store Connect
↓
TestFlight 测试
↓
填写 App 信息、截图、隐私说明
↓
提交审核
↓
审核通过后发布
四、Android 和 iPhone App 的区别
对比项Android AppiPhone / iOS App系统AndroidiOS / iPadOS语言Kotlin / JavaSwift / Objective-C工具Android StudioXcodeUI 框架Jetpack Compose / XMLSwiftUI / UIKit设备适配品牌多、尺寸多、系统版本复杂设备较少、生态统一应用发布Google Play + 国内各大应用商店App Store审核Google Play 和国内市场规则不同App Store 审核严格难点机型适配、权限、厂商差异、备案、软著证书、签名、审核、订阅内购打包格式APK / AABIPA推送FCM / 厂商推送APNs支付Google Play Billing / 微信 / 支付宝Apple IAP / Apple Pay开发成本设备碎片化成本高审核和证书管理要求高
五、跨平台 App 开发方案
1. Flutter
Flutter 是 Google 推出的跨平台 UI 框架,使用 Dart 语言。
官方文档:
Flutter 官网Flutter 官方文档Dart 官方文档
适合:
场景是否推荐企业 App推荐电商 App推荐工具类 App推荐动效复杂 App推荐需要多端统一 UI推荐高性能复杂项目推荐大量调用系统底层能力中等,需要写原生插件
Flutter 示例:
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text("你好,Flutter App"),
),
),
);
}
}
2. React Native
React Native 适合已经会 React 的前端开发者。
官方文档:
React Native 官网React Native 入门文档React Native 环境搭建
适合:
场景是否推荐前端团队开发 App非常推荐已经会 React非常推荐快速开发 MVP推荐中后台移动端推荐商城、资讯、社区类 App推荐大型高性能游戏不推荐对原生能力依赖很深谨慎
React Native 示例:
import React from 'react';
import { View, Text, Button, Alert } from 'react-native';
export default function App() {
return (
);
}
3. uni-app
uni-app 更适合国内生态,尤其适合 Vue 开发者。
官方文档:
uni-app 官方文档
适合:
场景是否推荐小程序非常推荐H5推荐简单 App推荐企业内部应用推荐快速开发多端业务推荐高性能复杂 App不优先推荐
4. Kotlin Multiplatform
Kotlin Multiplatform 更适合共享业务逻辑,而不是简单理解为“一套 UI 到处跑”。
常见结构:
共享层:Kotlin 写接口、数据模型、业务逻辑
Android UI:Jetpack Compose
iOS UI:SwiftUI
适合:
大型团队
原生团队
希望共享业务逻辑
同时保持 Android / iOS 原生体验
5. 跨平台方案对比
方案语言优点缺点适合人群FlutterDartUI 表现强,性能好,跨端统一要学 Dart,原生插件有门槛想做高质量跨平台React NativeJS / TS前端友好,React 生态原生依赖和版本问题较多React 前端uni-appVue国内生态好,小程序友好高复杂 App 性能一般Vue 前端Kotlin MultiplatformKotlin共享业务逻辑,原生体验好学习成本高原生团队Hybrid WebViewHTML/CSS/JS迭代快性能和体验受限制活动页、内容页
六、前端开发者怎么选择 App 技术路线
如果你是前端开发工程师,可以这样选:
目标推荐技术快速做 AppReact Native / uni-app想做高质量跨平台 AppFlutter已经会 Vueuni-app已经会 ReactReact Native想深入 Android 原生Kotlin + Jetpack Compose想深入 iPhone 原生Swift + SwiftUI想找移动端原生岗位Kotlin + Swift想自己独立开发产品Flutter / React Native想做国内小程序 + Appuni-app想做复杂系统能力原生 Android / iOS
推荐学习顺序:
第一阶段:先理解 App 开发流程
第二阶段:选 React Native / Flutter / uni-app 之一入门
第三阶段:做一个完整项目
第四阶段:学习 Android 打包、签名、权限、上架
第五阶段:补 Android / iOS 原生能力
七、App 开发完整流程
一个完整 App 通常按这个流程开发:
1. 需求分析
2. 原型设计
3. UI 设计
4. 技术选型
5. 搭建项目
6. 开发页面
7. 封装网络请求
8. 登录注册
9. 状态管理
10. 本地存储
11. 权限处理
12. 接入推送 / 支付 / 地图 / 相机
13. 真机测试
14. 性能优化
15. 打包
16. 应用市场上架
17. 后续版本迭代
1. 需求分析
需要明确:
App 是给谁用
解决什么问题
核心功能有哪些
是否需要登录
是否需要支付
是否需要定位
是否需要推送
是否需要后台管理系统
是否需要 iOS 和 Android 双端
是否要上架国内市场或 Google Play
2. 原型设计
常用工具:
工具用途链接FigmaUI / 原型设计打开链接墨刀产品原型打开链接即时设计国产 UI 设计工具打开链接Axure专业原型工具打开链接
3. UI 设计
需要准备:
App 图标
启动图
首页设计
登录页
列表页
详情页
个人中心
空状态页面
错误状态页面
加载状态
深色模式适配
4. 技术开发
要完成:
搭建项目
配置路由
封装请求
封装组件
接入状态管理
开发业务页面
联调接口
处理权限
接入第三方 SDK
5. 测试
测试类型:
类型说明功能测试功能是否正常兼容测试不同手机、系统版本是否正常UI 测试页面是否错位弱网测试网络差时是否可用权限测试拒绝权限后是否崩溃登录测试token 过期、退出登录、重复登录支付测试支付成功、失败、取消性能测试启动速度、列表滑动、内存占用安全测试敏感数据、接口、日志
八、App 项目必须掌握的核心模块
1. 页面开发
常见页面:
页面功能启动页展示 Logo、初始化配置引导页新用户引导登录页手机号、验证码、密码登录注册页用户注册、协议勾选首页Banner、列表、分类、推荐搜索页搜索记录、热门搜索列表页分页、刷新、筛选详情页商品、文章、视频详情个人中心用户信息、订单、设置设置页清除缓存、隐私政策、退出登录
2. 路由导航
App 也有“路由”。
前端中:
/login
/home
/detail/1
App 中:
LoginScreen
HomeScreen
DetailScreen
ProfileScreen
常见导航方式:
类型说明栈导航页面一层一层打开Tab 导航底部首页、分类、消息、我的抽屉导航左侧菜单Modal弹窗页面Deep Link外部链接打开 App 指定页面
3. 网络请求
App 和后端接口交互,例如:
POST /api/login
GET /api/user/info
GET /api/goods/list
GET /api/goods/detail
POST /api/order/create
POST /api/upload/avatar
要封装:
baseURL
请求头
token
请求拦截器
响应拦截器
错误统一处理
登录过期处理
loading
重试
超时
4. 登录注册
常见登录方式:
方式说明手机号 + 验证码国内常见账号 + 密码传统方式微信登录国内常见Apple 登录iOS 常见Google 登录海外常见Token 登录前后端分离常见
登录流程:
用户输入账号密码
↓
请求登录接口
↓
后端返回 token
↓
App 保存 token
↓
后续接口请求携带 token
↓
token 过期后重新登录或刷新 token
5. 本地存储
类型AndroidiOS用途简单存储DataStore / SharedPreferencesUserDefaultstoken、设置数据库Room / SQLiteCore Data / SQLite聊天记录、离线数据文件存储FileFileManager图片、缓存文件安全存储KeystoreKeychain密码、敏感 token
6. 权限处理
App 经常需要申请权限:
权限用途相机拍照、扫码相册选择图片定位地图、附近门店麦克风录音、语音通话蓝牙设备连接通知消息推送文件上传、下载
关键原则:
不要一启动就申请所有权限
在用户使用对应功能时再申请
拒绝权限后给出友好提示
隐私政策中说明权限用途
7. 推送通知
常见推送服务:
平台推送服务Android 海外Firebase Cloud MessagingAndroid 国内华为推送、小米推送、OPPO 推送、vivo 推送iOSAPNs第三方聚合极光推送、个推、友盟
使用场景:
订单提醒
聊天消息
活动通知
系统公告
物流更新
课程提醒
8. 支付功能
常见支付方式:
地区 / 平台支付方式国内 Android微信支付、支付宝iOS 虚拟商品Apple In-App PurchaseAndroid 海外Google Play Billing海外Stripe、PayPal
注意:
iOS 上卖会员、虚拟币、课程、数字内容等,通常要遵守 Apple 内购规则。
Android 上架 Google Play 时,数字商品通常要遵守 Google Play Billing 规则。
国内支付需要企业资质、商户号、支付回调、订单系统。
9. 图片、文件上传
常见流程:
用户选择图片
↓
申请相册 / 相机权限
↓
压缩图片
↓
上传到服务器或对象存储
↓
服务器返回 URL
↓
保存到业务数据中
常见问题:
问题解决方案图片太大上传前压缩上传失败增加重试和错误提示权限被拒引导用户去系统设置打开Android 版本兼容问题适配系统文件选择器和 Photo Picker
10. WebView
WebView 用来在 App 中加载 H5 页面。
适合:
活动页
协议页
帮助中心
文章详情
营销落地页
注意:
不要把核心复杂功能全部塞进 WebView
注意 JSBridge 安全
注意 H5 页面移动端适配
注意 HTTPS
注意返回键处理
九、实际项目案例:商城 App
一个商城 App 通常包含:
首页
分类页
商品列表
商品详情
购物车
登录注册
个人中心
订单列表
支付
地址管理
搜索
收藏
消息通知
售后
优惠券
1. 页面模块拆分
模块功能首页Banner、推荐商品、活动入口分类一级分类、二级分类商品列表分页、筛选、排序商品详情图片轮播、价格、规格、评价购物车加减数量、选择商品、结算登录手机号、验证码、token订单创建订单、支付、取消订单地址新增、编辑、删除收货地址个人中心用户信息、设置、退出登录搜索搜索历史、热门搜索、搜索结果消息订单通知、系统通知
2. 技术模块拆分
模块内容请求封装baseURL、token、错误处理路由导航首页、详情、登录拦截状态管理用户信息、购物车、主题本地存储token、搜索记录、缓存权限处理相机、相册、通知支付接入微信、支付宝、Google Pay、Apple IAP推送接入订单提醒、活动消息性能优化图片压缩、列表分页、缓存异常监控崩溃日志、接口错误
3. 商城 App 登录拦截逻辑
用户点击购物车 / 下单 / 个人中心
↓
判断本地是否有 token
↓
有 token:进入页面
↓
无 token:跳转登录页
↓
登录成功后返回原页面
十、Android 应用从申请到上线完整流程
Android 应用上线不是简单地“打个 APK 上传”。完整流程包括:
开发完成
↓
真机测试
↓
隐私合规检查
↓
准备应用资料
↓
准备 APP 备案 / 软著 / 特殊资质
↓
生成正式签名包
↓
注册开发者账号
↓
创建应用
↓
上传 APK / AAB
↓
填写应用信息
↓
填写权限、隐私、数据安全说明
↓
提交审核
↓
处理驳回问题
↓
审核通过
↓
正式上线
↓
监控崩溃、评论和数据
↓
版本迭代
1. Android 应用上线常见平台
平台包格式特点Google PlayAAB海外主流,规则标准化华为应用市场APK国内主流渠道之一小米应用商店APK小米 / Redmi 用户OPPO 软件商店APKOPPO / 一加用户vivo 应用商店APKvivo / iQOO 用户应用宝APK腾讯系渠道官网下载APK自主分发企业内部分发APK企业内部使用
2. Google Play 和国内安卓市场差异
对比项Google Play国内安卓市场包格式AAB 为主APK 为主账号认证Google 开发者账号验证个人 / 企业实名认证审核重点Data Safety、目标 API、权限、内容政策实名认证、备案、软著、隐私合规、权限支付Google Play Billing微信、支付宝等推送FCM各厂商推送备案通常不是 Google Play 重点国内市场经常要求软著通常不是必需国内市场常见要求分发地区全球中国大陆设备生态
十一、上线前资料准备
1. 基础资料
资料说明应用名称简短、易记、避免侵权包名Android 唯一标识,例如 com.company.appname应用图标高清图标,常见 512×512应用截图首页、核心功能页、登录页、个人中心等应用简介一句话说明 App 用途应用详细描述功能介绍、适用人群、特色隐私政策链接必须能公网访问用户协议链接建议准备测试账号如果需要登录,必须提供联系方式邮箱、手机号、官网版本号versionName,例如 1.0.0版本码versionCode,每次更新必须递增
2. 技术资料
资料说明APK / AAB 安装包国内市场多用 APK,Google Play 用 AAB签名文件 keystore正式包必须使用正式签名包名 applicationId上架后不要随意改SHA-1 / SHA-256 指纹登录、地图、支付、推送等 SDK 配置targetSdkVersion目标 Android APIminSdkVersion最低支持 Android 版本权限清单相机、相册、定位、通知等第三方 SDK 清单统计、广告、支付、推送、地图等
3. 合规资料
资料是否常见必需说明隐私政策必需说明收集哪些数据、为什么收集、如何使用用户协议推荐 / 常见必需说明用户使用规则APP 备案国内通常需要面向中国境内提供互联网信息服务的 App 常见要求软件著作权国内市场常见要求证明软件归属ICP 备案使用中国大陆服务器、网站或接口时常见ICP 许可证经营性互联网信息服务可能需要特殊行业资质视业务而定新闻、医疗、教育、金融、直播、游戏等
十二、开发者账号申请流程
1. Google Play Console 账号申请
官方入口:
Google Play Console 官网Play Console 帮助中心:开始使用 Play Console创建并设置应用
申请流程:
准备 Google 账号
↓
进入 Google Play Console
↓
选择个人账号或组织账号
↓
填写开发者资料
↓
支付注册费用
↓
完成身份验证
↓
进入控制台创建应用
需要注意:
问题说明账号类型个人开发者和组织开发者资料要求不同身份验证需要真实身份信息付款方式需要可用支付方式开发者名称会展示在 Google Play 商店页面联系邮箱用户和平台可能通过该邮箱联系你账号安全建议开启两步验证
2. 国内安卓应用市场账号申请
常见平台:
平台官方入口华为 AppGallery Connect打开链接华为应用市场打开链接小米开发者平台打开链接OPPO 开放平台打开链接vivo 开放平台打开链接腾讯开放平台 / 应用宝打开链接
通用申请流程:
注册开发者账号
↓
选择个人开发者或企业开发者
↓
提交实名认证资料
↓
等待认证审核
↓
认证通过
↓
创建应用
↓
上传 APK
↓
提交审核
3. 个人开发者常见资料
资料说明身份证真实身份认证手机号接收验证码和审核通知邮箱接收平台通知银行卡涉及收益结算时需要手持证件照部分平台可能要求
4. 企业开发者常见资料
资料说明营业执照企业主体认证法人身份证法人身份认证联系人信息平台对接联系人对公账户收益结算或认证使用授权书非法人操作时可能需要软件著作权应用归属证明行业许可证特殊行业需要
十三、APP 备案、软著、隐私政策与资质准备
1. APP 备案是什么
APP 备案是指面向中国境内提供互联网信息服务的 App,需要按照相关要求登记主体信息、应用信息、网络接入信息等。
可以简单理解为:
网站需要 ICP 备案
App 也可能需要 APP 备案
小程序、快应用等也可能涉及备案
官方和云服务商入口:
工信部 ICP/IP 地址/域名信息备案管理系统阿里云 APP 备案快速入门腾讯云 APP 备案常见问题腾讯云 ICP 备案首次备案
2. APP 备案流程
购买中国大陆服务器或使用接入服务
↓
进入云服务商备案系统
↓
填写主体信息
↓
填写 App 信息
↓
填写域名 / 接入信息
↓
上传证件资料
↓
云服务商初审
↓
短信核验
↓
通信管理局审核
↓
备案通过
↓
获得备案号
3. APP 备案常见问题
问题解决方案已有网站 ICP 备案,App 还要备案吗通常仍需要补充 APP 备案信息,按市场和接入商要求处理App 没有后端接口,要备案吗如果不提供互联网信息服务可能不需要;如果有联网、账号、内容服务,建议按平台要求处理服务器在海外,要不要备案中国大陆备案通常与大陆服务器接入有关,但国内市场可能仍要求备案或合规说明备案信息和应用市场主体不一致尽量保持主体一致,否则准备授权材料备案号在哪里展示通常在 App 内“设置 / 关于我们 / 隐私政策”页面展示备案审核没通过检查应用名称、主体信息、域名、接入信息、包名是否一致
4. 软件著作权是什么
软件著作权简称“软著”,用于证明软件归属权。
国内安卓市场中,以下情况经常会被要求提供软著:
场景说明企业正式产品很多平台建议提供金融、教育、医疗、工具类审核更容易要求包名、应用名称相似需要证明归属被平台判定疑似侵权需要软著或授权证明多个平台上架提前准备更稳
5. 软著准备资料
资料说明软件名称建议和 App 名称接近版本号一般写 V1.0源代码通常需要前后若干页使用说明书功能截图和说明申请人资料个人或公司资料授权书主体不一致时可能需要
6. 隐私政策怎么准备
隐私政策是 App 上架的核心材料。
建议包含:
1. 我们收集哪些信息
2. 为什么收集这些信息
3. 如何使用这些信息
4. 是否共享给第三方 SDK
5. 第三方 SDK 名称、用途、收集字段
6. 用户如何撤回授权
7. 用户如何注销账号
8. 用户如何删除个人信息
9. 未成年人保护说明
10. 联系方式
11. 隐私政策更新时间
7. 隐私政策常见问题
问题解决方案隐私政策链接打不开使用 HTTPS,确保公网可访问App 内没有隐私政策入口登录页、注册页、设置页、关于我们中添加入口隐私政策没有写第三方 SDK列出所有 SDK 名称、公司、用途、收集信息、官网链接App 启动就申请权限改为使用相关功能时再申请未同意隐私政策就收集设备信息首次启动先弹隐私协议并取得同意权限用途写得太模糊明确写“用于扫码登录”“用于上传头像”“用于附近门店推荐”等
8. 特殊行业资质
类型可能需要的资质新闻资讯新闻信息服务相关资质医疗健康医疗器械、互联网医院、医疗信息服务资质等金融借贷金融牌照、备案、合规说明教育培训教育类资质、课程内容证明游戏游戏版号、防沉迷、隐私合规直播 / 短视频网络文化、视听节目、内容审核机制电商营业执照、平台规则、支付合规社交交友内容审核、举报机制、用户协议、未成年人保护
十四、Android 项目打包前检查
1. 检查包名
包名是 Android 应用的唯一标识。
示例:
namespace = "com.example.mall"
applicationId = "com.example.mall"
注意:
错误后果包名写成测试包名上架后无法随意修改不同市场包名不一致更新、统计、推送容易出问题包名和别人冲突可能无法创建应用包名包含敏感品牌可能被判定侵权
建议格式:
com.公司名.应用名
com.zeng.mall
com.company.project
2. 检查版本号
Android 常用两个版本字段:
versionCode = 1
versionName = "1.0.0"
字段作用versionCode给系统和应用市场判断版本高低,必须递增versionName展示给用户看的版本号
更新版本时:
versionCode = 2
versionName = "1.0.1"
常见问题:
问题解决方案上传新版本提示版本号过低增加 versionCode版本名称显示不对修改 versionName不同渠道版本混乱建议建立版本发布表
3. 检查 targetSdkVersion
Google Play 对目标 API 有要求,新应用和应用更新需要满足目标 API 等级要求。
官方文档:
Google Play 目标 API 等级要求Play Console:Target API level requirements
示例:
android {
compileSdk = 35
defaultConfig {
minSdk = 23
targetSdk = 35
}
}
常见问题:
问题解决方案Google Play 提示 target API 太低升级 compileSdk 和 targetSdk升级 targetSdk 后权限异常检查 Android 运行时权限变化升级后文件读写失败适配分区存储、Photo Picker 等通知不显示Android 13+ 需要通知权限后台定位被拒检查定位权限和后台定位声明
4. 检查权限
Android 权限在 AndroidManifest.xml 中声明。
示例:
敏感权限:
权限用途CAMERA拍照、扫码ACCESS_FINE_LOCATION精准定位ACCESS_COARSE_LOCATION模糊定位RECORD_AUDIO录音、语音READ_MEDIA_IMAGES读取图片READ_MEDIA_VIDEO读取视频POST_NOTIFICATIONS通知READ_CONTACTS通讯录QUERY_ALL_PACKAGES获取安装应用列表,审核非常严格
权限处理原则:
能不用就不用
能用系统选择器就不用读取全部文件权限
用户触发功能时再申请权限
权限说明要和实际功能一致
隐私政策要写清楚权限用途
5. 检查第三方 SDK
上线前整理一张 SDK 清单:
SDK 名称公司用途收集信息官网友盟统计友盟数据统计设备信息、使用数据打开链接高德地图高德地图定位定位信息、设备信息打开链接微信开放平台 SDK腾讯微信登录、分享、支付账号信息、设备信息打开链接支付宝开放平台 SDK支付宝支付支付相关信息打开链接Firebase SDKGoogle崩溃、推送、统计设备信息、崩溃数据打开链接
审核常见问题:
问题解决方案SDK 违规收集信息升级 SDK,关闭不必要采集隐私政策没写 SDK添加 SDK 清单用户未同意前 SDK 初始化延迟初始化,用户同意后再初始化SDK 版本过旧升级到平台推荐版本SDK 请求权限但功能不用移除 SDK 或关闭相关能力
十五、签名、APK、AAB 详细讲解
1. 什么是签名
Android App 必须签名才能安装和更新。签名可以理解为 App 的身份证。
官方文档:
Android 官方:为应用签名
如果两个安装包签名不一致:
同一个包名不能覆盖安装
用户无法正常升级
应用市场可能拒绝更新
第三方登录、地图、支付可能失效
2. Debug 签名和 Release 签名
类型用途Debug 签名开发调试用Release 签名正式上线用
不要用 Debug 包上架。
3. keystore 是什么
keystore 是保存签名密钥的文件。
示例文件:
my-release-key.jks
生成签名文件示例:
keytool -genkey -v \
-keystore my-release-key.jks \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-alias my-key-alias
需要保存的信息:
keystore 文件
keystore 密码
key alias
key password
重要提醒:
正式签名文件一定要备份
密码一定要保存
不要上传到 Git 仓库
不要发给无关人员
4. APK 和 AAB 区别
官方文档:
Android App Bundle 官方说明上传 App Bundle 到 Play Console
格式说明常见使用场景APKAndroid 安装包,可直接安装国内安卓市场、官网下载、企业内部分发AABAndroid App Bundle,Google Play 发布格式Google Play
APK 特点:
可以直接安装
国内市场支持广
适合企业内部分发
适合官网下载
AAB 特点:
Google Play 会根据设备生成合适 APK
包体更小
支持动态功能模块
适合全球分发
5. Android Studio 打正式包流程
生成 APK:
Android Studio
↓
Build
↓
Generate Signed Bundle / APK
↓
选择 APK
↓
选择 keystore
↓
填写密码和 alias
↓
选择 release
↓
Finish
生成 AAB:
Android Studio
↓
Build
↓
Generate Signed Bundle / APK
↓
选择 Android App Bundle
↓
选择 keystore
↓
选择 release
↓
Finish
6. Gradle 命令打包
生成 Release APK:
./gradlew assembleRelease
生成 Release AAB:
./gradlew bundleRelease
Windows:
gradlew assembleRelease
gradlew bundleRelease
打包产物常见路径:
app/build/outputs/apk/release/
app/build/outputs/bundle/release/
十六、Google Play 上架完整流程
1. 创建应用
官方文档:
创建并设置应用
流程:
进入 Play Console
↓
点击 Create app
↓
填写 App name
↓
选择默认语言
↓
选择 App 或 Game
↓
选择免费或付费
↓
勾选声明
↓
创建应用
2. 填写商店详情
需要填写:
内容说明应用名称商店展示名称简短描述一句话介绍完整描述详细功能介绍图标高质量图标Feature Graphic商店横幅图手机截图展示核心页面平板截图如果支持平板,建议上传分类工具、教育、购物、生活等联系方式邮箱、网站、电话隐私政策必须是可访问链接
3. 配置 App Content
官方文档:
准备应用审核:App contentGoogle Play Data Safety 数据安全表权限声明表
常见需要填写:
项目说明隐私政策填写隐私政策 URLAds是否包含广告App access是否需要登录账号Target audience目标用户年龄Content rating内容分级问卷Data safety数据收集和共享说明Permissions declaration敏感权限声明Financial features金融功能声明Health apps健康类应用声明News apps新闻类应用声明
4. 上传 AAB
流程:
Production / Testing
↓
Create new release
↓
Upload AAB
↓
填写 Release notes
↓
Review release
↓
Start rollout
建议先走测试轨道:
测试类型用途Internal testing内部快速测试Closed testing邀请部分用户测试Open testing公开测试Production正式发布
5. 提交审核前检查
商店详情是否完整
隐私政策是否可打开
测试账号是否能登录
数据安全表是否和实际一致
权限声明是否合理
AAB 是否正式签名
目标 API 是否满足要求
是否有崩溃问题
6. Google Play 常见驳回原因
驳回原因解决方案隐私政策缺失或打不开提供 HTTPS 可访问链接数据安全表和实际不一致按 SDK 和接口真实填写权限用途不合理删除非必要权限或补充声明App 需要登录但没给测试账号在 App access 提供账号密码和操作说明应用崩溃使用 Play Console 崩溃日志、Firebase Crashlytics 排查目标 API 不符合要求升级 targetSdk包名、签名、版本号问题检查 applicationId、keystore、versionCode内容分级不准确重新填写内容分级问卷侵犯品牌或版权修改名称、图标、素材,提供授权证明付款方式违规数字商品遵守 Google Play Billing 规则
十七、国内安卓应用市场上架流程
国内安卓市场包括华为、小米、OPPO、vivo、应用宝等。不同平台后台不同,但核心流程类似。
1. 华为应用市场流程
官方文档:
华为应用市场接入华为 AppGallery Connect 发布应用 APK华为创建 Android 应用华为应用审核指南
流程:
注册华为开发者账号
↓
实名认证
↓
进入 AppGallery Connect
↓
新建 Android 应用
↓
填写应用基础信息
↓
上传 APK
↓
填写分发国家/地区
↓
填写隐私声明链接
↓
提交审核
↓
审核通过后上架
注意点:
应用名称、包名、签名要一致
隐私政策必须能访问
如果接入华为推送、地图、登录等能力,需要配置证书指纹
应用截图要符合规范
敏感行业要提供资质
2. 小米应用商店流程
官方文档:
小米开发者平台小米应用提交流程小米应用创建操作指南
流程:
注册小米开发者账号
↓
完成开发者认证
↓
创建应用
↓
填写应用名称和包名
↓
上传 APK
↓
系统读取包名、版本号、应用名称
↓
填写应用分类、简介、截图、隐私政策
↓
提交审核
↓
审核通过后发布
注意点:
包名不要填错
版本号要递增
应用截图不要带其他商店水印
隐私政策要和 App 内展示一致
如果 APK 较大,按平台要求使用对应上传方式
3. OPPO 应用商店流程
官方文档:
OPPO 开放平台OPPO 开发者平台
流程:
注册 OPPO 开放平台账号
↓
完成开发者认证
↓
进入管理中心
↓
产品列表
↓
移动应用列表
↓
创建应用
↓
创建包名
↓
上传 APK
↓
完善资料
↓
提交审核
↓
发布上线
注意点:
应用包名创建后要和 APK 一致
应用资料需要完整
隐私政策、权限说明、备案信息要完善
不得包含违规内容、诱导下载、虚假功能
4. vivo 应用商店流程
官方入口:
vivo 开放平台vivo 创建应用文档vivo 应用审核规范
流程:
注册 vivo 开放平台账号
↓
实名认证
↓
创建应用
↓
上传 APK
↓
填写应用基础资料
↓
填写隐私政策和资质信息
↓
提交审核
↓
审核通过后上架
注意点:
vivo 对审核规范、隐私合规、应用内容、权限使用都比较关注
如果涉及广告、下载、金融、医疗、教育等内容,要提前准备说明和资质
5. 应用宝流程
官方入口:
腾讯开放平台
流程:
注册腾讯开放平台账号
↓
开发者认证
↓
创建移动应用
↓
填写应用资料
↓
上传 APK
↓
填写隐私政策和资质信息
↓
提交审核
↓
审核通过后上架应用宝
6. 国内市场通用审核重点
审核项说明账号主体是否实名认证应用名称是否侵权、夸大、涉敏包名是否唯一、是否和 APK 一致签名是否为正式签名版本号是否递增隐私政策是否完整、是否可访问权限是否过度申请SDK是否违规采集信息APP 备案是否填写备案信息软著是否能证明应用归属特殊资质是否符合行业要求功能完整性是否能正常使用登录账号审核员是否能进入核心功能内容安全是否有违规内容广告是否欺骗点击、诱导下载、影响体验
十八、审核常见问题与解决方案
1. 隐私政策问题
问题表现:
隐私政策链接无法访问
隐私政策内容不完整
隐私政策没有写第三方 SDK
隐私政策和 App 实际权限不一致
App 内找不到隐私政策入口
解决方案:
1. 使用 HTTPS 链接
2. 确保不需要登录即可访问
3. 在 App 登录页、注册页、设置页加入隐私政策入口
4. 列出所有第三方 SDK
5. 写清楚每个权限的具体用途
6. 写清楚用户注销账号、删除信息、撤回授权方式
2. 权限过度申请
问题表现:
普通工具 App 申请通讯录权限
不需要定位却申请精准定位
不需要读取全部图片却申请相册权限
启动 App 就申请相机、定位、存储等权限
解决方案:
1. 删除不必要权限
2. 改为用户点击功能时再申请
3. Android 13+ 图片视频尽量使用系统 Photo Picker
4. 权限弹窗前给用户解释用途
5. 隐私政策中同步更新权限说明
3. 测试账号问题
问题表现:
审核员无法登录
验证码登录无法收到验证码
登录后没有测试数据
核心功能需要会员或付费
解决方案:
1. 提供固定测试账号和密码
2. 不要只支持短信验证码登录
3. 给测试账号配置完整权限
4. 在审核备注写清楚操作路径
5. 如果有后台审核功能,提供测试后台或模拟数据
审核备注示例:
测试账号:test@example.com
密码:Test123456
登录路径:首页 → 我的 → 登录
测试说明:该账号已开通会员权限,可测试课程播放、收藏、评论等功能。
4. 应用崩溃或白屏
常见原因:
接口地址写错
正式环境证书错误
混淆导致类找不到
缺少网络权限
低版本 Android 兼容问题
WebView 加载失败
第三方 SDK 初始化失败
解决方案:
1. 使用正式包在多台真机测试
2. 测试 Android 8、10、12、13、14、15 等系统
3. 检查 ProGuard / R8 混淆规则
4. 接入崩溃监控
5. 检查接口 HTTPS 证书
6. 检查 WebView 页面是否支持移动端
7. 检查权限是否动态申请
5. 签名不一致
问题表现:
新版本无法覆盖安装
应用市场提示签名与旧版本不一致
第三方登录、支付、地图功能失效
解决方案:
1. 找回原 keystore
2. 检查 alias 和密码是否正确
3. 不要用 debug keystore 打正式包
4. 不同渠道使用同一正式签名
5. Google Play 使用 Play App Signing 时区分 upload key 和 app signing key
6. 版本号问题
问题表现:
上传失败,提示版本号过低
用户收不到更新
同一个版本重复上传失败
解决方案:
1. 每次提交都增加 versionCode
2. versionName 按语义化版本管理
3. 建立版本发布记录表
4. 多渠道包保持版本规则一致
版本示例:
发布次数versionCodeversionName首次发布11.0.0修复 bug21.0.1新增功能31.1.0大版本升级102.0.0
7. 软著或资质问题
问题表现:
平台要求上传软著
应用名称疑似侵权
涉及金融、医疗、教育等特殊类目
企业主体和软著主体不一致
解决方案:
1. 提前申请软件著作权
2. 应用名称和软著名称尽量一致
3. 如果主体不一致,准备授权书
4. 特殊行业提前准备许可证或备案材料
5. 不要使用知名品牌、影视、明星、商标素材
8. APP 备案问题
问题表现:
平台要求填写 APP 备案号
备案主体和开发者主体不一致
备案信息和应用信息不一致
备案还在审核中
解决方案:
1. 提前通过云服务商或接入商提交备案
2. 应用名称、主体、域名尽量保持一致
3. 在 App 内展示备案号
4. 隐私政策和关于我们页面同步备案信息
5. 如果主体不同,准备授权证明
9. 第三方 SDK 违规
问题表现:
未同意隐私政策前 SDK 已收集设备信息
SDK 获取 IMEI、MAC、Android ID 等敏感信息
SDK 申请了多余权限
隐私政策没有列 SDK
解决方案:
1. 升级 SDK 到合规版本
2. 用户同意隐私政策后再初始化 SDK
3. 关闭非必要采集开关
4. 隐私政策增加 SDK 清单
5. 删除不用的 SDK
6. 使用平台检测工具扫描 APK
10. 图标、截图、描述问题
问题表现:
截图和实际功能不一致
截图带其他应用市场水印
图标模糊
描述包含违规词
夸大宣传收益、疗效、功能
解决方案:
1. 使用真实 App 截图
2. 不使用竞品、平台、水印内容
3. 图标使用高清尺寸
4. 描述避免“最强、稳赚、官方、第一”等敏感夸张词
5. 截图展示核心功能,不放无关宣传图
十九、上线后的版本更新流程
上线后还要持续维护。
1. 常规更新流程
收集用户反馈
↓
修复 bug / 新增功能
↓
修改 versionCode 和 versionName
↓
生成新正式包
↓
内部测试
↓
上传应用市场
↓
填写更新说明
↓
提交审核
↓
灰度发布
↓
正式全量发布
2. 更新说明怎么写
不推荐:
修复了一些问题。
推荐:
1. 优化首页加载速度
2. 修复部分机型上传头像失败的问题
3. 新增订单筛选功能
4. 优化登录体验
3. 灰度发布
灰度发布是先让一部分用户升级,观察是否有问题。
适合:
大版本更新
支付功能更新
登录体系更新
底层 SDK 更新
性能优化版本
如果发现崩溃升高,可以暂停发布,修复后再继续。
4. 上线后要监控什么
指标说明崩溃率是否有大量闪退ANR是否卡死登录成功率是否登录失败支付成功率是否支付异常接口错误率后端接口是否稳定用户评论是否有明显投诉卸载率是否更新后大量卸载权限拒绝率用户是否不愿授权活跃用户DAU、MAU留存率次日留存、7 日留存、30 日留存
二十、上线前检查清单
1. 技术检查
App 能正常安装 正式包不是 Debug 包 使用正式签名 versionCode 已递增 versionName 正确 包名正确 targetSdk 符合目标市场要求 首次启动不崩溃 登录注册正常 主要接口正常 图片、文件上传正常 支付功能正常 推送功能正常 WebView 页面正常 Android 低版本兼容正常 Android 高版本权限适配正常 混淆后功能正常
2. 合规检查
隐私政策可访问 App 内有隐私政策入口 用户协议可访问 首次启动有隐私弹窗 用户同意前不初始化敏感 SDK 第三方 SDK 清单完整 权限用途说明清楚 有账号注销入口 有个人信息删除或联系客服方式 APP 备案信息准备完成 软著准备完成 特殊行业资质准备完成 未成年人相关说明完善
3. 应用市场资料检查
应用名称正确 应用图标高清 应用截图清晰 简短描述准确 详细描述不夸大 分类选择正确 联系邮箱可用 官网或隐私政策链接可访问 审核测试账号可登录 审核备注写清楚 APK / AAB 上传正确 更新说明填写完整
二十一、官方资源和文档链接表
1. Android 官方资源
资源说明链接Android DevelopersAndroid 官方开发文档打开链接Android StudioAndroid 官方开发工具打开链接Jetpack ComposeAndroid 现代 UI 工具包打开链接Compose 入门文档Compose 官方学习入口打开链接Android App ArchitectureAndroid 应用架构指南打开链接Android App BundleAAB 官方说明打开链接App Bundle 格式AAB 文件格式说明打开链接构建和测试 AABAAB 测试指南打开链接上传 App Bundle上传 AAB 到 Play Console打开链接应用签名Android 签名官方文档打开链接
2. iOS / Apple 官方资源
资源说明链接Apple DeveloperApple 开发者官网打开链接XcodeApple 官方开发工具打开链接Swift 官方文档Swift 语言文档打开链接SwiftUI 官方文档SwiftUI 框架文档打开链接UIKit 官方文档UIKit 框架文档打开链接App Store ConnectiOS 应用上架后台打开链接提交 App 到 App StoreApple 上架说明打开链接TestFlightApple 内测工具打开链接
3. 跨平台官方资源
资源说明链接Flutter 官网Flutter 官方网站打开链接Flutter 文档Flutter 官方文档打开链接Dart 文档Dart 语言文档打开链接React Native 官网React Native 官方网站打开链接React Native 入门React Native 官方入门打开链接React Native 环境搭建React Native 环境配置打开链接uni-app 文档uni-app 官方文档打开链接Kotlin MultiplatformKotlin 跨平台文档打开链接
4. Google Play 官方资源
资源说明链接Google Play ConsoleGoogle Play 发布后台打开链接开始使用 Play Console开发者账号设置打开链接创建并设置应用Google Play 创建应用流程打开链接准备应用审核App content 审核准备打开链接数据安全表Data Safety 填写说明打开链接权限声明敏感权限声明说明打开链接目标 API 要求Target SDK 官方要求打开链接Play Console 目标 API 要求Google Play 帮助中心说明打开链接
5. 国内安卓应用市场官方文档
平台说明链接华为 AppGallery Connect华为应用管理后台打开链接华为应用市场接入华为应用分发入口打开链接华为发布 APK 应用华为 APK 发布文档打开链接华为创建 Android 应用华为创建应用文档打开链接华为应用审核指南华为审核规范打开链接小米开发者平台小米应用商店开发者平台打开链接小米应用提交流程小米应用上架流程打开链接小米应用创建指南小米创建和提交审核说明打开链接OPPO 开放平台OPPO 应用发布平台打开链接OPPO 开发者平台OPPO 官方开发平台打开链接vivo 开放平台vivo 应用发布平台打开链接vivo 创建应用文档vivo 创建应用说明打开链接vivo 应用审核规范vivo 审核规范打开链接腾讯开放平台应用宝相关入口打开链接
6. APP 备案和云服务商文档
资源说明链接工信部备案系统备案查询和管理入口打开链接阿里云 APP 备案阿里云 APP 备案流程打开链接阿里云 ICP 备案流程阿里云备案流程说明打开链接腾讯云 APP 备案 FAQ腾讯云 APP 备案常见问题打开链接腾讯云首次备案腾讯云 ICP / APP 备案流程打开链接
7. 推荐辅助工具
工具用途链接Android StudioAndroid 开发与打包打开链接XcodeiOS 开发与打包打开链接Firebase Crashlytics崩溃监控打开链接Firebase App Distribution测试分发打开链接Google Play ConsoleGoogle Play 上架管理打开链接Postman接口测试打开链接FigmaUI 设计协作打开链接IconKitchenAndroid 图标生成打开链接App Store ConnectiOS 应用管理打开链接
二十二、推荐学习路线
1. 前端开发者推荐路线
HTML / CSS / JavaScript 基础
↓
Vue 或 React 熟练
↓
了解 App 页面、路由、状态、权限、打包
↓
选择 React Native / Flutter / uni-app
↓
做一个完整项目
↓
学习 Android 打包、签名、上架
↓
补 Kotlin + Jetpack Compose
↓
补 Swift + SwiftUI
2. Vue 开发者路线
Vue3
↓
TypeScript
↓
uni-app
↓
小程序 / H5 / App 打包
↓
Android APK 签名
↓
国内应用市场上架
↓
原生插件开发
3. React 开发者路线
React
↓
TypeScript
↓
React Native
↓
Expo 或 React Native CLI
↓
导航、状态管理、网络请求
↓
Android / iOS 打包
↓
应用市场上架
4. Flutter 路线
Dart
↓
Flutter Widget
↓
页面布局
↓
路由导航
↓
网络请求
↓
状态管理
↓
本地存储
↓
原生插件
↓
Android / iOS 双端上线
5. Android 原生路线
Kotlin 基础
↓
Android Studio
↓
Activity / Lifecycle
↓
Jetpack Compose
↓
ViewModel
↓
Navigation
↓
Retrofit / OkHttp
↓
Room / DataStore
↓
权限处理
↓
打包签名
↓
Google Play / 国内市场上架
6. iOS 原生路线
Swift 基础
↓
Xcode
↓
SwiftUI
↓
NavigationStack
↓
状态管理
↓
URLSession
↓
UserDefaults / Core Data / Keychain
↓
权限处理
↓
TestFlight
↓
App Store 上架
7. 推荐练手项目
项目能练到什么记账 App本地存储、图表、分类商城 App登录、列表、详情、购物车、支付短视频展示 App视频播放、列表性能、缓存笔记 App富文本、本地数据库、同步天气 App网络请求、定位、权限后台管理移动端表单、权限、接口封装个人作品集 App页面开发、导航、打包发布课程学习 App视频、登录、收藏、进度记录
二十三、总结建议
如果你是前端开发工程师,建议路线是:
第一步:先理解 App 开发整体流程
第二步:选择 React Native / Flutter / uni-app 入门
第三步:做一个完整项目
第四步:学习 Android 打包、签名、权限、上架
第五步:再补 Android / iOS 原生能力
最实用组合:
React Native + TypeScript + Android 上架流程
或者:
Flutter + Dart + Android / iOS 双端发布
如果你以后要独立开发并发布 App,必须重点掌握:
1. 包名不要乱改
2. 正式签名文件必须保存好
3. versionCode 每次更新必须递增
4. 隐私政策必须完整且可访问
5. 权限能少申请就少申请
6. 第三方 SDK 要列清楚
7. 国内市场提前准备 APP 备案和软著
8. Google Play 重点关注 AAB、Data Safety、目标 API、权限声明
9. 提交审核前必须提供可用测试账号
10. 上线后要持续监控崩溃、评论、下载和转化数据
App 开发不是只写页面,也不是只会打包。真正完整的 App 开发能力包括:
产品理解
+
UI 页面开发
+
接口联调
+
状态管理
+
权限处理
+
本地存储
+
推送支付地图等 SDK
+
性能优化
+
打包签名
+
应用市场审核
+
隐私合规
+
版本迭代
把这些流程打通后,你就能从“会写前端页面”升级到“能独立完成 App 项目开发与上线”的开发者。