【发布时间】:2016-01-13 11:14:38
【问题描述】:
我正在使用 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 上进行了测试,并且发生了同样的事情。 任何建议都会很有用,在此先感谢。
【问题讨论】:
标签: android proguard android-support-library