主项目和 aar 模块之间的依赖冲突 - Volley
Dependency clashes between main project and aar module - Volley
我在当前的应用程序中使用 Volley 库进行联网。
依赖性:
compile 'com.mcxiaoke.volley:library:1.0.19'
我已经为我的 Imageloader 提供了一个自定义实现来覆盖我的服务器所需的一些 headers。
代码如下:
public class MyImageLoader extends ImageLoader {
public MyImageLoader(RequestQueue queue, ImageCache imageCache) {
super(queue, imageCache);
}
@Override
protected Request<Bitmap> makeImageRequest(String requestUrl, int maxWidth, int maxHeight,
ImageView.ScaleType scaleType, final String
cacheKey) {
return new ImageRequest(requestUrl, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
onGetImageSuccess(cacheKey, response);
}
}, maxWidth, maxHeight, scaleType, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
onGetImageError(cacheKey, error);
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> params = new HashMap<>();
//add my params
return params;
}
};
}
}
我也在使用 Linkedin sdk aar 进行 Linkedin 集成。
依赖片段:
compile(name:'linkedin-sdk-debug', ext:'aar')
repositories{
flatDir{
dirs 'libs'
}
}
这个 aar 还引用了它自己的 volley 版本,它是 Linkedin SDK 项目中的一个 jar。
构建我的项目很好,但是当我 运行 它时,我遇到了一堆错误:
以下错误:
Error:(17, 9) 错误:class ImageRequest 中的构造函数 ImageRequest 无法应用于给定类型;
必需:String、Listener、int、int、Config、ErrorListener
找到:String,Listener,int,int,ScaleType,Config,ErrorListener
原因:实际和形式参数列表的长度不同
Error:(40, 16) 错误:class ImageRequest 中的构造函数 ImageRequest 无法应用于给定类型;
必需:String,Listener,int,int,Config,ErrorListener
发现: String,>,int,int,ScaleType,Config,
原因:实际和形式参数列表的长度不同
我怀疑这可能是由于不同 volley 代码版本之间的冲突。
有没有人遇到过这种情况?
在 linkedin zip 中,你在一个单独的模块中有截击,所以我建议你让你的项目有 3 个模块:
1) 您的代码
2) 链接代码
3) - 1) 和 2) 中的公共 volley 代码和编译项目(':volley')
要么
- 在 1) 和 2)
中使用编译 'com.android.volley:volley:1.0.0'
注意,如果你想坚持截击,最好使用
com.android.volley:volley
作为
com.mcxiaoke.volley:library
不再维护。
我在当前的应用程序中使用 Volley 库进行联网。
依赖性:
compile 'com.mcxiaoke.volley:library:1.0.19'
我已经为我的 Imageloader 提供了一个自定义实现来覆盖我的服务器所需的一些 headers。
代码如下:
public class MyImageLoader extends ImageLoader {
public MyImageLoader(RequestQueue queue, ImageCache imageCache) {
super(queue, imageCache);
}
@Override
protected Request<Bitmap> makeImageRequest(String requestUrl, int maxWidth, int maxHeight,
ImageView.ScaleType scaleType, final String
cacheKey) {
return new ImageRequest(requestUrl, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
onGetImageSuccess(cacheKey, response);
}
}, maxWidth, maxHeight, scaleType, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
onGetImageError(cacheKey, error);
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> params = new HashMap<>();
//add my params
return params;
}
};
}
}
我也在使用 Linkedin sdk aar 进行 Linkedin 集成。
依赖片段:
compile(name:'linkedin-sdk-debug', ext:'aar')
repositories{
flatDir{
dirs 'libs'
}
}
这个 aar 还引用了它自己的 volley 版本,它是 Linkedin SDK 项目中的一个 jar。
构建我的项目很好,但是当我 运行 它时,我遇到了一堆错误:
以下错误:
Error:(17, 9) 错误:class ImageRequest 中的构造函数 ImageRequest 无法应用于给定类型; 必需:String、Listener、int、int、Config、ErrorListener
找到:String,Listener,int,int,ScaleType,Config,ErrorListener 原因:实际和形式参数列表的长度不同
Error:(40, 16) 错误:class ImageRequest 中的构造函数 ImageRequest 无法应用于给定类型; 必需:String,Listener,int,int,Config,ErrorListener 发现: String,>,int,int,ScaleType,Config, 原因:实际和形式参数列表的长度不同
我怀疑这可能是由于不同 volley 代码版本之间的冲突。
有没有人遇到过这种情况?
在 linkedin zip 中,你在一个单独的模块中有截击,所以我建议你让你的项目有 3 个模块:
1) 您的代码
2) 链接代码
3) - 1) 和 2) 中的公共 volley 代码和编译项目(':volley') 要么 - 在 1) 和 2)
中使用编译 'com.android.volley:volley:1.0.0'注意,如果你想坚持截击,最好使用
com.android.volley:volley
作为
com.mcxiaoke.volley:library
不再维护。