亲品藏
^
android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

  我们在使用android studio开发编程时,可能会需要链接引入第三方类库jar包,其实我们可以通过多种途径将其引入,但是除用者可能在操作的过程中会遇到第三方jar包重复加载的问题,当遇到这样的问题的时候,大家也不用着急,这里给大家准备了解决方法,大家可以一起看看。

  android studio引入第三方jar包方法一:

  在Android Studio(AS)的开发中,遇到引入外部类库或第三方jar包的情况,确实是件很恼人的事情。因为AS是基于Gradle构建,所以和传统的导入方式有些不一样。

  笔者也曾为此头疼过好一阵,现在终于有了解决办法,拿出来和大家分享一下。

  这里以导入Google Services library为例,具体操作步骤如下。

  1. 打开你的buid.gradle文件。应该用哪一个呢?Project中的,还是Module中的?(如图所示,Module中的)

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

  2 . 将google-play-services.jar这个jar包拷到指定的位置。原来可能是在这个目录下:$ANDROID-SDK/extras/google/google_play_services/libproject/google-play-services_lib/libs ,比如现在我把它放到了$GOOGLE_PLAY_LIB目录下。

  3 . 如果你已经有了别的dependencies(如Android Studio Library),我们把它加到list当中去,也就是将你需要编译的部分,从dependencies中移到list里。

  例如先前长这样:

  List myDependencies = ["com.android.support:appcompat-v7:18.0.+"]dependencies { //moved into List above, so there'll be nothing here.}

  4. 加入Google Play Library之后:

  List myDependencies = ["com.android.support:appcompat-v7:18.0.+", fileTree (dir: '$GOOGLE_PLAY_LIB', includes: ['*.jar'])]

  PS:不要忘了把$GOOGLE_PLAY_LIB 改成你本地的目录,如 E://Android/Development/Lib

  5. 修改dependencies里面的内容:

  List myDependencies = ["com.android.support:appcompat-v7:18.0.+", fileTree (dir: 'E://Android/Development/Lib', includes: ['*.jar'])]dependencies { compile myDependencies}

  6. 然后就是耐心等待项目compile和make了。^_^

  android studio引入第三方jar包方法二:

  将第三方jar包加入到libs文件夹中

  有两种方式将jar引入进工程目录:第一种是打开工程所在Project Structure,然后选择Dependencies,点击那个加号选择File Dependency ,然后再Libs文件夹中选择要导入的jar包,

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

  然后点击确定,jar包就导入进来了。

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

  第二种方式是:右键点击libs文件夹中的jar文件选择 add as Library...然后选择Model,这样也可以导入成功。

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

  android studio引入第三方jar包方法三

  将第三方jar包加入到libs文件夹中,打开工程所在Project Structure,然后选择Dependencies,点击那个加号选择File Dependency ,然后再Libs文件夹中选择要导入的jar包。

  两外还有一种方法是在project选中jar包点击右键"Add as library",这种方法需要定位到项目的根目录,即build.gradle所在的目录。

  dependencies

  {

  compile files('libs/android-support-v4.jar')

  compile files('libs/xxxx.jar')

  }

  Android Studio导入第三方jar包出现包重复加载怎么办

  添加第三方jar包的时候,出现了重复加载jar包的问题,解决办法很简单去掉一个不让它去加载就OK了

  一、错误


Error:Execution failed fortask ':app:dexDebug'.

> com.android.ide-common.internal.LoggedErrorException: Failed to run command:

   F:\zsl\sdk\build-tools\21.1.2\dx.bat --dex --output F:\zsl\Android\pro\RecipesDaquan\app\build\intermediates\dex\debug --input-list=F:\zsl\Android\pro\RecipesDaquan\app\build\intermediates\tmp\dex\debug\inputList.txt

Error Code:

   2

Output:

   UNEXPECTED TOP-LEVEL EXCEPTION:

   com.android.dex.DexException:<strong> <span style="color:#3333ff;">Multiple dex files define Landroid/</span><span style="color:#ff0000;">support/v4</span><span style="color:#3333ff;">/accessibilityservice/AccessibilityServiceInfoCompatIcs;</span></strong>

       at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)

       at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)

       at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)

       at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)

       at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)

       at com.android.dx-command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)

       at com.android.dx-command.dexer.Main.runMonoDex(Main.java:303)

       at com.android.dx-command.dexer.Main.run(Main.java:246)

       at com.android.dx-command.dexer.Main.main(Main.java:215)

       at com.android.dx-command.Main.main(Main.java:106)

  从上述错误中我们可以看到support_v4的包重复加载编译了,我们看一下gradle-app文件

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

<"http://www.2cto-com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' compile 'in.srain.cube:cube-sdk:1.0.42.1' compile files('libs/android-async-http-1.4.6.jar') }其中引入了v7的包后会自动去加载编译一个v4:21.0.0包,而在in.srain.cube:cube-sdk:1.0.42.1库中也有一个v4的包,所以我们需要去掉一个

  看一下,libraries是否是我们所讲的那样,重复加载v4包

android studio怎么引入第三方jar包?android studio引入第三方jar包重复加载怎么办?

  二、解决办法


dependencies {

   compile fileTree(dir: 'libs', include: ['*.jar'])

   compile 'com.android.support:appcompat-v7:21.0.0'

   <span style="color:#ff0000;">compile ('in.srain.cube:cube-sdk:1.0.42.1'){

       exclude module: 'support-v4'

   }</span>

   compile files('libs/android-async-http-1.4.6.jar')

}

  去掉in.srain.cube:cube-sdk:1.0.42.1中的包不加载即可。

  总结:以上就是小编为大家带来的全部android studio怎么引入第三方jar包相关内容,相信大家一定有所了解了吧。

相关阅读

CopyRight 亲品藏移动版(m.qinpinchang.com)