android - Proguard NoClassDefFoundError

标签 android google-play-services proguard fragmentpageradapter android-proguard

今天我更新了我的 gradle 以使用最新的播放服务:

build.gradle

classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.google.gms:google-services:1.5.0-beta2'

app.gradle

compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'

我使用 proguard 混淆代码,但出现以下错误:

java.lang.NoClassDefFoundError: my.package.adapters.MyPagerAdapter

我尝试将其添加到 proguard 文件中:

-keep class my.package.adapters.MyPagerAdapter { *; }

但没有运气。用以前版本的play services没问题。 从包 android.support.v13.app.FragmentPagerAdapter.

扩展 FragmentPagerAdapter 的每个类都会出现此错误

有什么帮助吗?非常感谢。

最佳答案

为了防止FragmentPageAdapter派生类被混淆,proguard需要如下规则:

-keep class * extends android.support.v13.app.FragmentPagerAdapter { *; }

关于android - Proguard NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614242/

相关文章:

Android WebView 显示纯文本而不是 html

android - Titanium - Facebook 模块不使用 native 登录

google-play-services - com.android.tools.r8.utils.AbortException zza 已经有一个 mappin

java - proguard 试图混淆使用 Spring 的代码时遇到问题

安卓 AESObfuscator 与混淆器

java - RecyclerView 增加(+)和减少(-)按钮不能为每个项目正常工作

android - picasso :失忆

android - 如何检测用户是否禁用 GPS(Android - Play 服务)

android - 尽管有明确请求,但无法从 Google Plus 帐户获取私有(private)生日

android - 任务执行失败:尝试运行Espresso UI测试时,使用proguard转换类和资源