ARM架构MBP上Android Studio构建的Places API功能失效求助
问题排查方案:ARM架构MBP构建后Places API 3.3.0失效
针对你在MBP M3 Pro(ARM架构)上构建应用后,Places API 3.3.0集成的AutoCompleteTextView功能完全失效、无报错的问题,可按以下步骤排查:
检查依赖架构配置
确认项目build.gradle(Module级别)中没有限制ARM架构的依赖或配置:- 查看
android.defaultConfig.ndk.abiFilters,确保包含arm64-v8a、armeabi-v7a,不要只保留x86系列架构 - 检查
dependencies中的Places依赖是否为通用版本,避免误引入x86专属变体,正确依赖应为:implementation 'com.google.android.libraries.places:places:3.3.0'
- 查看
启用Places API详细日志
虽然控制台无报错,但可通过开启API日志捕捉隐藏问题:
在应用初始化Places的代码中添加日志开关:Places.initialize(getApplicationContext(), "你的API密钥"); Places.setLoggingEnabled(true);然后在Logcat中过滤
Places标签,查看是否有初始化失败、密钥验证或服务连接的隐性警告。清理构建缓存并全量重建
ARM架构的Android Studio构建缓存可能存在异常,执行以下操作:- 点击
File > Invalidate Caches...,勾选"Clear file system cache and local history"后重启AS - 执行
Build > Clean Project,再执行Build > Rebuild Project,确保全量构建而非增量构建
- 点击
最小化项目验证
创建一个仅包含Places API 3.3.0和AutoCompleteTextView的空白项目,在MBP M3上构建后安装到S22 Ultra测试:- 若测试项目功能正常,说明原项目存在配置冲突(如第三方库依赖、混淆规则等)
- 若测试项目也失效,尝试降级Places API到3.2.0版本,验证是否为3.3.0版本的ARM构建兼容问题
检查混淆/代码缩减配置
即使是调试构建,部分项目可能开启了默认代码缩减,检查proguard-rules.pro是否包含Places API的保留规则,避免相关类被移除:-keep class com.google.android.libraries.places.** { *; } -keep interface com.google.android.libraries.places.** { *; }
内容的提问来源于stack exchange,提问作者DevinM
相关产品推荐
相关产品推荐

