在发布版本中找不到Android FileProvider类

我正在使用FileProvider从设备中获取照片。 该实现在调试版本中运行良好(minifyEnabled false)但是当我构建版本构建(minifyEnabled为true)时,我收到一个错误:

java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.package.name-2/base.apk"], nativeLibraryDirectories=[/data/app/om.package.name-2/lib/arm, /vendor/lib, /system/lib]] 

所以我猜这与proguard设置有关

我有

 compile 'com.android.support:support-v13:23.1.1' 

这是我的gradle文件中的v4的超集

 minSdkVersion 21 targetSdkVersion 23 

 -keep class android.support.v4.app.** { *; } -keep class android.support.v4.content.** { *; } -keep interface android.support.v4.app.** { *; } -keep interface android.support.v4.content.** { *; } -keep class * extends android.content.ContentProvider 

在我的proguard-rules.pro文件中

我已经使用Android 5和6进行了测试,同样的事情发生了。 任何建议都会有用,提前谢谢。

以下对我有用:

在您的模块build.gradle文件中:

 defaultConfig { ... multiDexEnabled true ... 

}

然后:

 dependencies { ... compile 'com.android.support:multidex:1.0.2' ... 

}

最后,确保您的应用程序类具有以下之一:

A.如果您没有扩展您的应用程序类:

    ...   

经过几个小时的谷歌搜索后,我最终更新了gradle和google服务

 dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'com.google.gms:google-services:1.5.0' } 

以前的版本商品

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

我想谷歌服务库需要有一些东西