• Android studio 解决Android Library Project jar包重复导致的问题


    之前在eclipse下同时引用多个Android Library Project时,会因为不同Library Project都引用了相同的包如android.support.v4而报错,比如用了actionbarsherlock,又引用了viewpagerIndicator。调来调去真是烦人啊。有时候调好了,eclipse运行还报class not find等稀奇古怪的错误。换了一个eclipse环境,同样的代码又不报错。总之,我对eclipse 算是伤透脑筋。

    后来转向Android Studio后,发现真的是越用越好用啊。

    在Android Studio中所有的工程文件称为一个Project,不同的工程文件称为Module。

    在Android Studio中导入Android Library Project,如viewpagerIndicator,此时主Module中的Dependencies里已经有了一个android-support-v4的包,而Library Module里也有一个包,此时编译的时候就会报错。[Android Studio Workspace] UNEXPECTED TOP-LEVEL EXCEPTION:]

    怎样解决这个问题呢?

    主的Module和从属的Module 都需要调用android-support-v4包里的内容。去掉哪一个呢?Android Studio中有个Global Libraries的东西。

    按住ctrl+shift+alt+s,弹出的Project Structure中有个Global Libraries选项卡。你可以把一个lib包中的东西设置为global的,这样其它的Modules都会调用这个lib里的东西。

    们先把Libraries中的两个android-support-v4包都删掉。这时候项目中引用v4包中的类都会报错了。

    设置某个jar包为global library,如主工程Module中的v4包。



    接下来给Library添加v4包。


    添加的时候会有一个选项,可以从global libraries中选择。也就是说不用选择Library Project自己的v4包。



    shift+f10,编译、运行成功。

    爱死IntelliJ了!!!

  • 相关阅读:
    给a标签加样式的写法
    IE6、IE7下不支持overflowy:hidden;
    fontfamily:微软雅黑
    文字加下划线
    IE8下按钮与右边的距离比IE7和IE6的多了一倍
    在button(div)里设置背景图后,在IE6下背景图的高度被撑开了
    li中包含span,在IE6、IE7下会有3pxbug
    事件冒泡
    [LeetCode] Insert Interval 解题报告
    [LeetCode] Generate Parentheses 解题报告
  • 原文地址:https://www.cnblogs.com/ameryzhu/p/6555633.html
Copyright © 2020-2023  润新知