Android Studio引用第三方项目,Jar包,AAR包总结

引用第三方项目

①首先将第三方项目作为Module导入到我们的项目中,具体就是:
这里写图片描述
②导入之后,需要我们在项目的Gradle的dependencies{}下添加:

compile project(':这里为第三方项目名称')

关于jar包

使用android studio打jar包

如果想使用android studio将我们的项目打成jar包,首先要明确的是只能将java文件打包,而不能打包res等资源文件。
①首先项目只能是library,而不能是application,也就是说我们要在gradle中将app plugin改为:apply plugin: 'com.android.library'
②然后在根节点,而不是在任何标签下,添加代码:

task makeJar(type: Copy) {
    delete 'build/libs/XXXXX.jar'
    from('build/intermediates/bundles/release/')
    into('build/libs/')
    include('classes.jar')
    rename ('classes.jar', 'XXXXX.jar')
}

makeJar.dependsOn(build)
//在终端执行生成JAR包
// gradlew makeJar

③之后在Terminal终端中执行:gradlew makeJar,稍等之后,就可以在项目/app/build/libs目录下找到我们打包好之后的jar包

引用jar包

①首先将需要引用的jar包拷贝到项目app/libs目录下
②之后在gradle的dependencies{}标签中添加如下代码:

compile files('libs/XXXXX.jar')

如果不想自己在gradle中手动添加代码去关联,我们也可以使用下面的方法:
①菜单栏选择 File —>Project Structure。或者直接点击这里写图片描述,一样的效果!
②在弹出的Project Structure 对话框中, 选择module, 然后点击 Dependencies 选项卡.
③点击绿色的加号选择File dependency. 然后选择要添加的jar包即可完成上边的操作后在app目录下的build.gradle文件中,会自动引入类库。

so库的问题

我们在使用第三方jar的时候,常常会遇到SDK开发平台给的不同CPU架构的so文件,那么我们怎么添加这些so文件?两种方法:

方法一

①在src/main/目录下新建jniLibs目录,然后将所有的so文件拷入该目录下,工程会自动加载src目录下的so动态库
②需要注意的是:jar和so的版本号必须一致。

方法二

①在app/libs目录下放入对应不同CPU架构的so文件。但是这样工程并不会自动加载libs下的so文件
②需在gradle编译时,通过加入代码:jniLibs.srcDir 'libs' 来说明so的路径为该libs路径。

AAR包

android studio提供了可以打包包含我们项目res、assets等资源文件的一种文件格式,就是aar。

打aar包

①首先需要我们在项目gradle中将app plugin改为:apply plugin: 'com.android.library'
②之后在defaultConfig{}节点中去掉applicationId,versionCode,versionName等内容
③还需要我们在manifest的application标签的主活动中去掉

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

④一般情况下,我们还需要去掉

android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"

等内容,防止在引用的时候发生冲突!
或者在引用aar包的项目的application标签下添加:
tools:replace="android:label,android:icon",解决冲突!
⑤在做了上述步骤之后,同步一下我们的项目,就能在app/build/outputs/aar目录下找到我们打包好的aar文件

引用arr包

①跟引入jar包一样,将aar文件拷贝到app/libs目录下
②在gradle根节点添加如下代码:

repositories{
    flatDir{
        dirs 'libs'
    }
}

③最后在dependencies{}标签下进行关联:

compile (name: '你引入的aar文件的名称,不包含后缀', ext: 'aar')
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值