android studio 导入外部库文件,以及将项目中module变成library引用依赖

Posted 老肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android studio 导入外部库文件,以及将项目中module变成library引用依赖相关的知识,希望对你有一定的参考价值。

一:导入如百度地图等的外部类。

步骤:1.首先 将androidstudio项目显示切换到 project 状态显示项目

         2.然后添加.jar文件,将所有的.jar文件放入libs文件夹内(libs文件夹就在项目文件夹下),然后在引入的.jar文件上右键然后点击 Add As Library... OK jar文件引入。

         3.添加.so文件,在项目下的src目录下的main目录下新建jniLibs文件夹,然后将so文件连带着他外面的文件夹整个复制到jniLibs文件夹下(注意:so文件不能直接存在于jniLibs文件夹下,需要存在于如armeabi等文件中放入jniLibs文件夹下),倒入文件后在该文件的build.gradle中添加。(为了保证不出错,可以将.jar文件放入JinLibs将so文件放入libs文件中,使得libs跟jniLibs文件夹下都存在so跟jar。)

sourceSets{
    main(){
        jniLibs.srcDirs = [\'libs\']
    }
}
代码。具体放入位置如下:
apply plugin: \'com.android.library\'
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'
        }
    }
    sourceSets{
        main(){
            jniLibs.srcDirs = [\'libs\']
        }
    }
}

dependencies {
    compile fileTree(dir: \'libs\', include: [\'*.jar\'])
    testCompile \'junit:junit:4.12\'
    compile \'com.android.support:appcompat-v7:23.4.0\'
    compile files(\'libs/BaiduLBS_Android.jar\')
}
现在就可以使用外部类的方法了。

二:将同项目的module作为依赖包引用
1.选择你想作为library的module。选择他的build.gradle文件将最上方的代码
apply plugin: \'com.android.application\'改为apply plugin: \'com.android.library\'。然后将下面的代码删去位置为:android下的defaultConfig下的applicationId "frame.myc.com.mycframe"。删除后代码为
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'
        }
    }
    sourceSets{
        main(){
            jniLibs.srcDirs = [\'libs\']
        }
    }
}
2.为主文件添加依赖 mac下使用以下操作:点击file->project structure左边的module下选择你的主工程,然后右边点击dependencies,点击下方或者右方的+点开后在三个选项中选择module dependency,在弹出界面选择你刚刚修改作为library的midule文件 ok了。
其实最简单的方法就是刚开始建立module的时候就作为library来新建。仔细去新建一个module来体会一下,在选择模式的时候选择library就可以啦
出现错误:当你的程序需要引用两个及以上的module library或者其他的jar包是出现错误类型如下
Error:Execution failed for task \':app:transformResourcesWithMergeJavaResForDebug\'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK org/apache/log4j/xml/log4j.dtd
File1: /Users/minyuchun/androidwork/projectstudio/StarFaceFrame/app/build/intermediates/exploded-aar/StarFaceFrame/facelibrary/unspecified/jars/classes.jar
File2: /Users/minyuchun/androidwork/projectstudio/StarFaceFrame/app/build/intermediates/exploded-aar/StarFaceFrame/rylibrary/unspecified/jars/classes.jar
出现上述错误的原因是因为 你在引用的labrary中多个存在相同的包导致在打包是冲突 解决方式如下,在android下的 写
packagingOptions{
  exclude \'org/apache/log4j/xml/log4j.dtd\'
}
\'\'单引号中的内容为上述错误中APK后面的内容,按照上述的样式填写在 主的app.gradle 中,重新编译后运行,运行后还可能出现相同的错误 这时候请注意错误后面APK中的内容 此时应该与前一次出现的内容不相同。如果是这样的话继续按照上述的方式增加,循环最后就没有这个错误了。

 

 转自:https://www.cnblogs.com/minyc/p/myc201605231154.html

以上是关于android studio 导入外部库文件,以及将项目中module变成library引用依赖的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio - 导入外部库/Jar

如何在 android studio 中为 IBM MobileFirst 项目导入外部库项目?

Android Studio导入项目失败时,三步搞定它

Android Studio源码导入与调试

在哪里可以找到android studio的库依赖项

将 Maven 项目从 Eclipse 导入 Android Studio