主项目和aar模块之间的依赖性冲突 - 排球

时间:2016-04-07 15:55:04

标签: android gradle dependencies android-gradle android-volley

我在我当前的应用程序中使用Volley库进行联网。

依赖性:

compile 'com.mcxiaoke.volley:library:1.0.19'

我为我的Imageloader提供了一个自定义实现,以覆盖我的服务器所需的一些标头。

以下代码:

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。

构建我的项目很好但是当我运行它时会出现一堆错误:

以下错误:

错误:(17,9)错误:类ImageRequest中的构造函数ImageRequest无法应用于给定类型; required:String,Listener,int,int,Config,ErrorListener

found:String,Listener,int,int,ScaleType,Config,ErrorListener 原因:实际和正式的参数列表长度不同

错误:(40,16)错误:类ImageRequest中的构造函数ImageRequest无法应用于给定类型; required:String,Listener,int,int,Config,ErrorListener found:String,&gt;,int,int,ScaleType,Config, 原因:实际和正式的参数列表长度不同

我怀疑这可能是由于不同凌空代码版本的冲突造成的。

以前有没有人遇到这种情况?

1 个答案:

答案 0 :(得分:0)

在linkedin zip中你可以在一个单独的模块中进行排球,所以我建议你让你投射你有3个模块:

1)你的代码

2)linkedin代码

3) - 1)和2)中的常见齐射代码和编译项目(&#39;:凌空&#39;)     要么      - 使用compile&#39; com.android.volley:volley:1.0.0&#39;在1)和2)

请注意,如果你想坚持凌空,最好使用

  

com.android.volley:排

作为

  

com.mcxiaoke.volley:文库

不再维护。