API jar包与普通jar包有何区别?Gradle中两类Facebook登录jar的用途分别是什么
jetified-facebook-login系列Jar包用途说明
jetified-前缀是Android Gradle Plugin(AGP)Jetify工具的专属标识,代表该Jar包是由原本基于Android Support库开发的facebook-login库,自动转换为AndroidX兼容版本后的产物,存放在.gradle/caches/transforms-3/目录下属于Gradle构建流程生成的中间缓存文件,无需开发者手动导入项目。
两个Jar包的具体作用
jetified-facebook-login-5.15.3-api.jar
该文件是编译期API桩包,仅包含Facebook Login SDK所有对外暴露的类、接口、方法签名,不包含具体的业务实现代码。作用是供给编译阶段做语法校验、API合法性检查使用,你编码阶段可调用的所有Facebook登录相关公开API的定义都来自这个包。jetified-facebook-login-5.15.3.jar
首先明确:它既不是Javadoc包(Javadoc包命名会固定携带-javadoc后缀,内容为HTML格式的API说明文档),也不是可独立运行的普通Java包,是Facebook Login SDK的完整运行时实现包。包含所有公开API的实现逻辑、内部私有类、资源调用逻辑等内容,是App运行时实际加载执行的代码包。
正常构建流程中Gradle会自动管理两个包的类路径:编译阶段自动引入api.jar提升编译效率,打包阶段自动把完整的实现Jar打入最终APK/AAB产物,无需开发者手动操作缓存目录下的文件。
内容的提问来源于stack exchange,提问作者Bret Joseph
相关产品推荐
相关产品推荐

