android - 使用 android map utils library 生成签名 apk 时出错

标签 android gradle apk google-maps-api-2

由于我添加了此依赖项,因此我无法再生成签名的 APK。奇怪的是,构建/构建 APK 可以工作,但是构建/生成签名的 APK 失败并出现以下几行:

Warning:com.google.maps.android.clustering.ClusterManager: can't find superclass or interface com.google.android.gms.maps.GoogleMap$OnCameraIdleListener
Warning:com.google.maps.android.clustering.ClusterManager: can't find referenced class com.google.android.gms.maps.GoogleMap$OnCameraIdleListener
Warning:com.google.maps.android.kml.KmlRenderer: can't find referenced method 'void setZIndex(float)' in program class com.google.android.gms.maps.model.Marker
Warning:there were 4 unresolved references to classes or interfaces.
Warning:there were 1 unresolved references to program class members.
Warning:Exception while processing task java.io.IOException: Please correct the above warnings first.
Error:java.lang.RuntimeException: java.io.IOException: Please correct the above warnings first.
Error:java.io.IOException: Please correct the above warnings first.
Information:BUILD FAILED

这是我的模块 build.gradle 依赖部分:
apply plugin: 'com.android.model.library'
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile 'com.google.android.gms:play-services-maps:9.0.2'
    compile 'com.google.maps.android:android-maps-utils:0.4+'
}

model
{
    [etc...]
}

这是项目一级:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.8.0'
        classpath 'com.google.gms:google-services:3.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

最佳答案

当您尝试生成已签名的 apk(发布版本)时,它可能是 Proguard(正在执行其工作),您可以通过添加来解决此问题

-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**

但通常这已经在 map 库中完成,我建议在您尝试上述解决方案之前使用最新版本的 map 库
com.google.android.gms:play-services-maps:9.8.0

关于android - 使用 android map utils library 生成签名 apk 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40289405/

相关文章:

java - 在哪里可以找到处理目录文件的 jaxb gradle 插件或自定义任务?

android - Android Studio无法获取库

java - 为什么签名的android apk不能在模拟器上运行

android - 当我们滚动时,youtube 视频播放器与其他布局重叠

javascript - 什么触发 android chrome 显示 "make page mobile-friendly"面板?

PHP服务器从Android应用程序接收数据

android - NDK中如何获取计算时间

android - 为什么 realm 包含所有 CPI 架构的 .so 库,即使启用了拆分?

java - 如何避免在我的应用程序中将 APK 反编译为 Java 文件

android - 如何在新开发者控制台中上传 apk 扩展文件