【问题标题】:Can I not package gcm library into the apk?我可以不将 gcm 库打包到 apk 中吗?
【发布时间】:2015-08-10 06:41:35
【问题描述】:

我想在我的应用程序中使用 Google Cloud Messaging,在 gcm 教程的指导下,它可以工作。但是我还有一个想法,就是我能不能不把gcm库打包进apk,因为我觉得在android平台上会集成。因此,我将build.gradle 中的dependencies 中的“编译”更改为“提供”,并在AndroidMenifest.xml 中添加<use-library> 属性

compile('com.google.android.gms:play-services-gcm:7.5.0') {
        exclude module: 'support-v4'
    }

不幸的是,我失败了,因为我遇到了ClassNotFound Exception,所以我认为如果我不将gcm库打包到apk中它是行不通的。

但是我发现微信app也有gcm push,所以我用enjarify反编译WeChatxxx.apk来研究微信是如何实现这个功能的。奇怪的是我在其反编译的jar文件中没有找到gcm包(我认为gcm库不能被proguard-ed,可以吗?)。

那么谷歌云消息没有gcm库打包成apk也能工作吗,是无法做到还是我在微信apk中没有找到gcm pacakge。

【问题讨论】:

    标签: android google-cloud-messaging


    【解决方案1】:

    我终于发现微信在其apk文件中也包含gcm库,但它隐藏在assets/文件夹中的第二个classes.dex文件中。所以我认为如果第三方应用程序想要集成谷歌云消息传递,那么如果没有包含 gcm 库,则无法打包。

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 2011-11-11
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多