【问题标题】:How to fix this error "Cannot enable the location service. Error: java.lang.NoClassDefFoundError"?如何修复此错误“无法启用位置服务。错误:java.lang.NoClassDefFoundError”?
【发布时间】:2019-10-14 12:08:11
【问题描述】:

我正在使用原生 script-angular 开发 android 和 ios 应用程序。我正在使用本机脚本地理定位插件来访问当前位置。我还在我的应用程序中使用本机脚本插件、firebase 插件。我无法在我的应用程序中使用本机脚本地理定位在 android 中启用该位置。如何解决这个问题?

我正在使用插件版本: nativescript-firebase = 7.3.0 地理位置 = 5.1.0

这个问题只出现在android平台上,在ios上已经解决了。我还设置了 app.gradle 属性,例如

android {  
  defaultConfig {
    applicationId = "id"  
    multiDexEnabled true
    generatedDensities = []
  }
  project.ext {
    googlePlayServicesVersion = "16.+"
    }

  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }
  dexOptions {
    javaMaxHeapSize "4g"
  }

} 

我收到以下错误:

Cannot enable the location service. Error: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzbck;

【问题讨论】:

  • 对不起,请详细说明一下,当您调用位置服务时,您是否遇到运行时异常? Firebase 插件 v7.3.0 很老了,你用的是哪个版本的 tns 运行时?
  • 是的,我在启用位置服务时遇到运行时异常
  • tns runtime是指什么android运行时间?
  • 是的,我就是这么问的。
  • 在 app.gradle 中尝试15.0.1,如果问题仍然存在,请在before-plugins.gradle 上尝试,如相关Github issue 中所述。

标签: nativescript nativescript-angular


【解决方案1】:

感谢 manoj 推荐此链接 Github issue。我已经通过更新 android sdk 中的 google play 服务解决了这个问题,并且我创建了 before-plugins.gradle 文件并添加了如下所示的 google play 服务配置

android {  
  project.ext {
      googlePlayServicesVersion = "15.0.1"
  }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2014-04-17
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多