zoukankan      html  css  js  c++  java
  • 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了!!!

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/ameryzhu/p/6555633.html
Copyright © 2011-2022 走看看