请教android studio的依赖问题

小林sumc 2015-10-26 10:45:47
在Android Studio中,如果一个project有多个module,其中有两个Module都依赖某个jar包。这样编译的时候会报错。
请问这种情况该怎么处理,难道Android studio不允许两个Module依赖相同的jar包吗。

后来我换了一种做法,就是把这两个Module中的一个编译成aar,然后再添加进Project中,结果编译通过了,但是运行却报错。
以下是错误日志:
10-26 22:49:05.073 8676-8676/sumcoa.med.stu.edu.cn.sumcoa E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: sumcoa.med.stu.edu.cn.sumcoa, PID: 8676
java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
at com.daimajia.slider.library.SliderTypes.BaseSliderView.bindEventAndShow(BaseSliderView.java:210)
at com.daimajia.slider.library.SliderTypes.TextSliderView.getView(TextSliderView.java:25)
at com.daimajia.slider.library.SliderAdapter.instantiateItem(SliderAdapter.java:81)
at com.daimajia.slider.library.Tricks.InfinitePagerAdapter.instantiateItem(InfinitePagerAdapter.java:54)
at com.daimajia.slider.library.Tricks.ViewPagerEx.addNewItem(ViewPagerEx.java:848)
at com.daimajia.slider.library.Tricks.ViewPagerEx.populate(ViewPagerEx.java:998)
at com.daimajia.slider.library.Tricks.ViewPagerEx.populate(ViewPagerEx.java:930)
at com.daimajia.slider.library.Tricks.ViewPagerEx.onMeasure(ViewPagerEx.java:1453)
at android.view.View.measure(View.java:16654)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)
at android.view.View.measure(View.java:16654)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)
at android.view.View.measure(View.java:16654)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5150)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:16654)
at android.widget.ListView.setupChild(ListView.java:1971)
at android.widget.ListView.makeAndAddView(ListView.java:1894)
at android.widget.ListView.fillDown(ListView.java:792)
at android.widget.ListView.fillFromTop(ListView.java:853)
at android.widget.ListView.layoutChildren(ListView.java:1731)
at android.widget.AbsListView.onLayout(AbsListView.java:2275)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1627)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14963)
at android.view.ViewGroup.layout(ViewGroup.java:4656)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2148)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1860)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1076)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5913)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:807)
at android.view.Choreographer.doCallbacks(Choreographer.java:601)
at android.view.Choreographer.doFrame(Choreographer.java:562)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreog
请有经验的朋友指点一下,不胜感激。

最近被android studio搞到头都大了,各种奇奇怪怪的错误层出不穷,而且因为人在墙内,编译经常需要翻墙下载各种东西,就算翻墙,也是速度巨慢。而且anroid studio占用很大的CPU和内存,经常卡机。
人生真是艰难...
...全文
278 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BnuzLeon 2015-11-07
  • 打赏
  • 举报
回复
受教了。谢谢
chicken516 2015-11-07
  • 打赏
  • 举报
回复
受教了 谢谢楼主
jklwan 2015-10-27
  • 打赏
  • 举报
回复
你说“两个Module都依赖某个jar包。这样编译的时候会报错。”会报什么错误呢?我一直都是多个Module引用同样的包没有出过错误
小林sumc 2015-10-27
  • 打赏
  • 举报
回复
引用 6 楼 jklwan 的回复:
[quote=引用 4 楼 lpw32682770 的回复:] 谢谢这位大神朋友。 请问是不是因为新版本不支持相同的依赖呢?
Android-Async-Http需要httpclient支持,但是android23已经没有了,所以可以暂时使用android22来做,若要适配android6.0,可以自己加上httpclient库,谷歌文档有讲[/quote] 谢谢
jklwan 2015-10-27
  • 打赏
  • 举报
回复
引用 4 楼 lpw32682770 的回复:
谢谢这位大神朋友。 请问是不是因为新版本不支持相同的依赖呢?
Android-Async-Http需要httpclient支持,但是android23已经没有了,所以可以暂时使用android22来做,若要适配android6.0,可以自己加上httpclient库,谷歌文档有讲
小林sumc 2015-10-27
  • 打赏
  • 举报
回复
问题已经解决了。太开心了。
小林sumc 2015-10-27
  • 打赏
  • 举报
回复
引用 3 楼 jklwan 的回复:
compileSdkVersion和buildToolsVersion 改为如下版本

compileSdkVersion 22
buildToolsVersion "22.0.1"
targetSdkVersion版本改为
targetSdkVersion 22
compile 'com.android.support:appcompat-v7:23.1.0'改为
compile 'com.android.support:appcompat-v7:22.2.1'
修改后重新跑一下
谢谢这位大神朋友。 请问是不是因为新版本不支持相同的依赖呢?
jklwan 2015-10-27
  • 打赏
  • 举报
回复
compileSdkVersion和buildToolsVersion 改为如下版本

compileSdkVersion 22
buildToolsVersion "22.0.1"
targetSdkVersion版本改为
targetSdkVersion 22
compile 'com.android.support:appcompat-v7:23.1.0'改为
compile 'com.android.support:appcompat-v7:22.2.1'
修改后重新跑一下
小林sumc 2015-10-27
  • 打赏
  • 举报
回复
引用 1 楼 jklwan 的回复:
你说“两个Module都依赖某个jar包。这样编译的时候会报错。”会报什么错误呢?我一直都是多个Module引用同样的包没有出过错误

谢谢这位朋友的关注。
具体报错是这样的
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_20\bin\java.exe'' finished with non-zero exit value 2
两个module的bulid.gradle分别如下

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧