Android中常见SDK类型区别

 定义:

SDK(Software Development Kit)

常见的第三方库包括:*.so、*.jar、*.aar

  • jar文件:Java 提供的SDK 文件类型,里面包含的是纯Java编译过后的代码
  • so文件:一般是 C和 C++打包的成库的文件。
  • aar文件:aar 名字来源于 Android Archive,见名知义,是一个 Android 库项目的二进制归档文件。aar 库文件里面,包含了 jar 和 so,还有资源res等文件,结构等同一个app。

一、jar

1、说明

只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

2、Jar的优点:

        安全性、减少下载时间、传输平台扩展、包密封、包版本控制、可移植性。

打jar包时,项目里的res文件是用不了的,若想用图片文件,可以将图片文件放进assets文件里面打进jar包再进行调用,但必须注意jar里面assets文件夹里面的文件不能和调用项目里面assets文件夹里面的文件重名。

3、使用jar方式:

*.jar:拷贝到:libs目录,eclipse直接导入即可,AndroidStudio项目中添加:

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

重新编译一次项目既可完成加载。

二、aar

1、说明

Android库项目的二进制归档文件,包含所有资源,class以及res资源文件全部包含。

将aar解压(后缀改为.zip,再解压文件)打开后,可以看到每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt。

2、打aar包方法:

先把想要打包成sdk的项目做成Android libraries B,不要建成Android project ;

然后建立一个新的Android project A 去调用写好的libraries B;

运行后,studio就自动把我们的librarys B自动打包成aar包了,这就是我们想要的sdk了(路径:module 下,build/outputs/aar/)

如果运行后,没在目录下看到 aar,可以按照下图方式执行,执行成功后,就可以在左侧的:build/outputs/aar/ 下看到对应的 aar 文件了:

build.gradle(:leonlib)中配置代码混淆,若不配置,别人就可以看到aar中的源码

buildTypes{
    release{
        minifyEnabled true//代码混淆
        progruardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
    }
}

3、Android Studio使用aar方式:

第一步:拷贝到:libs目录

第二步:build.gradle 配置文件中更改为

repositories {
    flatDir {
        dirs'libs'
    }
}

dependencies {
    compile(name:'genius', ext:'aar')
    //implementation(fileTree("libs")) 方法2
}

参考文献:

Android中的SDK以及利用Android Studio生成aar_android studio aar-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值