Skip to content

Latest commit

 

History

History
123 lines (96 loc) · 2.97 KB

File metadata and controls

123 lines (96 loc) · 2.97 KB

快速开始指南

1. 基本功能测试

应用已经实现了基本的相机功能,你可以直接构建和运行:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
./gradlew assembleDebug

基本功能

  • 启动应用后看到黑屏(这是正常的)
  • 左上角显示当前音量
  • 点击屏幕任意位置拍照
  • 按音量键拍照
  • 调整音量时自动拍照
  • 点击右下角灰色按钮可以切换显示相机预览

2. 配置OSS上传功能

步骤1:配置OSS参数

编辑 app/src/main/java/com/android/example/cameraxbasic/oss/OSSConfig.kt:

object OSSConfig {
    // 替换为你的实际配置
    const val ENDPOINT = "https://oss-cn-hangzhou.aliyuncs.com"
    const val BUCKET_NAME = "your-bucket-name"
    const val STS_BASE_URL = "https://your-api-domain.com"
    const val STS_ROLE = "oss_normal_op"
    const val UPLOAD_FOLDER = "camera-photos/"
}

步骤2:测试STS服务

确保你的STS服务正常运行,可以通过以下方式测试:

curl "https://your-api-domain.com/thrid_party/aliyun/sts/oss_normal_op?duration=3600"

应该返回类似这样的JSON:

{
  "SecurityToken": "...",
  "Expiration": "2024-01-01T12:00:00Z",
  "AccessKeySecret": "...",
  "AccessKeyId": "..."
}

步骤3:测试上传功能

  1. 构建并安装应用
  2. 拍照
  3. 查看Logcat日志确认上传状态:
    adb logcat | grep -E "(OSSUploadService|CameraXBasic)"

3. 常见问题排查

问题1:网络连接失败

  • 检查设备网络连接
  • 确认API地址正确
  • 如果使用HTTP,需要在AndroidManifest.xml中添加:
    <application android:usesCleartextTraffic="true" ...>

问题2:STS获取失败

  • 检查API返回格式是否正确
  • 确认role参数是否为"oss_normal_op"
  • 查看详细错误日志

问题3:上传失败

  • 检查OSS配置是否正确
  • 确认bucket权限设置
  • 检查STS凭证是否有效

4. 日志查看

应用会输出详细的日志信息,主要标签:

  • OSSUploadService: OSS上传相关
  • CameraXBasic: 相机功能相关

查看日志命令:

# 查看所有相关日志
adb logcat | grep -E "(OSSUploadService|CameraXBasic)"

# 只查看上传相关日志
adb logcat | grep OSSUploadService

# 查看错误日志
adb logcat | grep -E "(ERROR|WARN)"

5. 功能验证清单

  • 应用正常启动,显示黑屏
  • 左上角显示音量数字
  • 点击屏幕可以拍照
  • 音量键可以拍照
  • 调整音量时自动拍照
  • 右下角按钮可以切换显示
  • 拍照后显示上传状态提示
  • 日志中显示上传成功信息和图片URL
  • OSS中可以看到上传的图片
  • 图片URL自动复制到剪贴板
  • 图片URL保存到本地存储

6. 下一步

配置完成后,你可以:

  1. 自定义上传路径和文件命名规则
  2. 添加图片压缩功能
  3. 实现上传进度显示
  4. 添加重试机制
  5. 实现批量上传功能