原作者地址: https://blog.youkuaiyun.com/yechaoa/article/details/79291552
集成自己项目时会出现如下的问题,特此做下总结。
1.添加依赖
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.1.0'
这里会出现如下问题:

解决方法:
在project的build。gradle中allprojects添加:maven { url 'https://jitpack.io' }
如下:

2.清单文件中权限配置及provider配置
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.zb.mypictureselectdemo.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
如图:

这里会出现如下问题:

解决方法:
android:authorities="自己项目包名.provider" 即可。
3.进入相册,选择图片崩死
会出现 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHelper;
分析:凡是出现android/support/v4/中找不到类或者方法,可以确定是依赖了多个不同版本的support库
这里是recycleview包冲突;
解决方法:
在app的build。gradle中添加
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
}
}
}
如下:

4.在fragment中:
将这个放置在Fragment里,添加照片后不会显示图片
PictureSelector.create();调用此方法时,在activity中传activity.this,在fragment中请传fragment.this, 影响回调到哪个地方的onActivityResult()。
解决Android项目中图片选择器集成问题
本文总结了在Android项目中集成图片选择器库时遇到的常见问题及解决方案,包括添加依赖、权限配置、provider设置、解决冲突等关键步骤。
5071

被折叠的 条评论
为什么被折叠?



