Android App Crawler在API 34运行异常:执行即结束并报超时错误求助
App Crawler兼容性问题:API 34设备无法正常爬取
问题详情
- API 28设备上运行App Crawler完全正常,但API 34设备无法执行爬取操作
- 执行命令:
java -jar crawl_launcher.jar --apk-file app-debug.apk --app-package-name com.example.myapplication --android-sdk $env:ANDROID_HOME
- API 34设备异常表现:
- 程序直接输出
Crawl finished.,但未执行任何爬取动作 - 同时触发超时错误:
Timed out waiting for crawl outputs proto file D:\app-crawler\crawl_output\app_firebase_test_lab\crawl_outputs.proto
- 程序直接输出
- 有命令执行截图可佐证上述报错情况
解决方法
1. 适配API 34权限要求
API 34权限机制更严格,需确保:
- 手动给测试设备授予App所需权限(如
POST_NOTIFICATIONS、定位权限等) - 在App的
AndroidManifest.xml中声明必要权限,同时完善API 34对应的运行时权限请求逻辑
2. 更新App Crawler工具版本
旧版crawl_launcher.jar可能未适配API 34特性,去官方渠道下载最新版本替换后重试
3. 延长超时等待时间
默认超时时间可能不足以支撑API 34设备的初始化,在命令中添加--timeout参数延长等待时长,示例:
java -jar crawl_launcher.jar --apk-file app-debug.apk --app-package-name com.example.myapplication --android-sdk $env:ANDROID_HOME --timeout 300
(单位为秒,可根据实际情况调整)
4. 检查本地目录权限与Firebase配置
- 确认本地
D:\app-crawler\crawl_output目录有读写权限,保证工具能生成crawl_outputs.proto文件 - 若依赖Firebase Test Lab,检查账号是否已配置API 34设备的测试环境
内容的提问来源于stack exchange,提问作者Ahmed Osama
相关产品推荐
相关产品推荐

