当前位置: 首页 > 知识库问答 >
问题:

已实施新的GCM,但未启动应用程序

孟均
2023-03-14

试图在我的应用程序中实现GCM。编译成功。但当我运行我的应用程序时,它崩溃了。堆栈跟踪:

而且

java.lang.IncompatibleClassChangeError:方法“java.io.file android.support.v4.content.contextCompat.GetNoBackupFilesDir(android.content.context)”应为virtual类型,但结果发现它为direct类型(“com.google.android.gms.iid.zzd”的声明出现在/data/app/sun.way2online.dropxapp-2/base.apk中的com.google.android.gms.iid.zzd.zzec(未知源)中的

我的分级文件:

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile "com.google.android.gms:play-services-gcm:9.0.0"

}

apply plugin: 'com.google.gms.google-services'

共有1个答案

段干靖
2023-03-14

问题可能来自应用程序所依赖的库之一,库本身也依赖于Google Play服务。您可能使用较旧版本的Google Play Services SDK,它仍然依赖于Google API客户端类是一个接口这一事实。这破坏了向后兼容性,因为库的可传递依赖关系。请检查您是否使用了最新版本或删除依赖关系(如果可能)。

有关Google Play服务的更多信息,请查看以下链接:https://www.reddit.com/r/androiddev/comments/3mehbb/break_changes_in_google_play_services_81/

 类似资料:
  • 我有一个现有的应用程序,突然间我被赋予了一项任务来实现IDP启动的SSO。有一个指向IDP的URL,点击它会要求我使用IDP提供的凭据登录,成功登录后,路径将移动到我们的应用程序,然后我的任务开始识别用户并提供正确的访问权限。我有我们的IDP提供的证书。我怎样才能做到这一点?我的应用程序是Spring MVC Java应用程序。我使用JBOSS AS 7。我以前从未做过类似的事情。有人能一步步清楚

  • 我尝试使用pyinstaller模块将我的python gui应用程序(.py)转换为可执行文件(.exe)。我在终端中运行了以下命令- pyinstaller.exe--onefile-w sourcecode.py

  • 请帮帮我!该应用程序接近完成,因为我确实运行了flutter upgrade来解决一个bug,所以我必须运行:flutter clean flutter channel master flutter upgrade flutter run 现在它不再启动了,下面的代码出现了… []Flutter(通道稳定,1.22.5,在Mac OS X 10.15.7 19H114 darwin-x64,现场显

  • 我在android上添加了通知服务,该服务运行良好,但当设备重新启动时,我看不到任何消息传递给应用程序。 我检查了打印出来的日志,它显示给我一个日志,上面写着:

  • 我有一个Spring Boot应用程序,其中有一个Kafka消费者和生产者。还有一个bean来创建主题。 我的Spring Boot应用程序和Kafka都是在Kubernetes的Docker启动的。有时Spring Boot应用程序在Kafka pod启动之前就启动了,因此无法启动,因为用户无法连接(参见stacktrace)。 有没有一种方法可以让我的应用程序以弹性的方式启动?例如,消费者应该

  • 我正在以下链接中使用sysdeo插件进行tomcat安装: http://technologicaloddity.com/using-projects/Java-projects/setting-up-the-sysdeo-tomcat-plug-in/ 由于我需要从我的spring mvc在tomcat中运行solrserver,所以我选择了上面的链接。 我配置了所有的东西,也做了solr wa