`
yuanlanjun
  • 浏览: 1187915 次
文章分类
社区版块
存档分类
最新评论

android工程引用jar包

 
阅读更多
先以email为例,看看如何引用第1,2方的jar
在4.0中email里有Email/emailcommon文件夹,和2.x结构不一样
这里也有个mk文件
email下面发现exchange文件夹不见了,原来是单独拿了出来
在exchange里面发现用到了emailcommon里面的类
emailcommon下部分mk文件代码如下
LOCAL_MODULE := com.android.emailcommon
LOCAL_STATIC_JAVA_LIBRARIES := guava
LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/emailcommon)
LOCAL_SRC_FILES += $(call all-java-files-under, src/org)
LOCAL_SRC_FILES += \
    src/com/android/emailcommon/service/IEmailService.aidl \
    src/com/android/emailcommon/service/IEmailServiceCallback.aidl \
    src/com/android/emailcommon/service/IPolicyService.aidl \
    src/com/android/emailcommon/service/IAccountService.aidl
LOCAL_SDK_VERSION := current
include $(BUILD_STATIC_JAVA_LIBRARY)
LOCAL_MODULE := com.android.emailcommon 定义模块名称
include $(BUILD_STATIC_JAVA_LIBRARY) 生成一个jar,可供其他应用使用
编译email时会看到如下log
target Java: com.android.emailcommon (out/target/common/obj/JAVA_LIBRARIES/com.android.emailcommon_intermediates/classes)
Copying: out/target/common/obj/JAVA_LIBRARIES/com.android.emailcommon_intermediates/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/com.android.emailcommon_intermediates/emma_out/lib/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/com.android.emailcommon_intermediates/classes.jar
target Static Jar: com.android.emailcommon (out/target/common/obj/JAVA_LIBRARIES/com.android.emailcommon_intermediates/javalib.jar)
out/target/common/obj/JAVA_LIBRARIES/com.android.emailcommon_intermediates下面的几个jar中都有emailcommon的源码
打开exchange的mk文件发现有如下代码
LOCAL_STATIC_JAVA_LIBRARIES := android-common com.android.emailcommon
这里引用了android-common和com.android.emailcommon
这样exchange就可以使用emailcommon的类文件了

下面看看如何引用第三方jar

将jar放在工程根目录下
mk文件要给下面两个变量赋值
LOCAL_STATIC_JAVA_LIBRARIES := library_name
LOCAL_PREBUILT_SATTIC_JAVA_LIBRARIES := library_name:xxx.jar即可
library_name应该可以理解为一个命名空间吧
ps:library_name不要和其他库的LOCAL_STATIC_JAVA_LIBRARIES重名,不然整体编译的时候会冲突,无法生成img
当然,单独编译的时候不会有问题的


分享到:
评论

相关推荐

    android studio 生成Jar包并调用资源文件

    使用android studio生成jar包,并且使用映射来完美调用资源文件。包含两个工程,一个如何生成jar包,一个是如何使用jar包,调用资源文件。使用详情可以关注我的blog,http://blog.csdn.net/jujishou521

    android正确导入jar包

    工作的时候恰好有一个jar包需要调用,结果用了很长时间才解决出现的bug。刚开始是这样引用的(eclipse):右键工程,Build path, java build path,选择libraries,在右边的按钮中点击“Add External JARs”,然后选择...

    Android的Jar包从主项目工程中读取并展示资源文件

    作为Android程序开发,我们自己在实际项目的开发过程中,经常会遇到我们打的Jar包需要动态的读取主项目工程中的资源文件,那么有没有一种好的方式,能够让Jar包非常方便的读取与展示主工程中的资源文件呢?...

    android mail必备jar包(mail.jar,activation.jar,additionnal.jar三件套)

    android mail必备jar包(mail.jar,activation.jar,additionnal.jar三件套),非手机系统邮件和调用第三方客户端,引入到Lib,导入工程即可使用

    android studio 打包.jar到unity调用 unity工程

    android studio 打包.jar到unity调用 unity工程 里面包含.jar和AndroidManifest 如果资源不能用请与我联系

    android studio 生成aar包,jar 包

    android studio 生成aar包并在其他工程引用 (导入)aar包 具体 介绍: http://blog.csdn.net/q610098308/article/month/2016/06 Android Studio 如何打JAR包 : ...

    Android引用百度地图jar包

    包含百度地图jar包、百度地图定位jar包。把两个jar包引入到工程目录的libs目录下,两个so文件放到armeabi文件夹目录下即可!

    Android_Dependency的Jar包

    Android PackageManager 有很多方法是没有暴漏出来的,我们如果想调用的话需 ...android_dependency.jar 提供了反射调用相关的class定义,直接放到你的工程libs目录下面,然后就可以进行反射调用PackageManager的API。

    Android将Activity打成jar包供第三方调用

    将android工程里面的Activity打成Jar包,供第三方调用,项目详情:http://blog.csdn.net/xiaanming/article/details/9257853

    基于基站定位的android jar包

    1 将 CpsLite.jar放到工程libs目录下 2 在工程里增加上述相关Jar 3 接口调用 A 初始化 在应用的Application 继承类的onCreate函数增加如下代码 import com.cps.DataListener; import com.cps.Whale; public class...

    SlidingMenu第三方jar包

    用于第三方引用的jar包,可以实现SlidingMenu侧滑菜单,将第三方jar包放在当前工程的libs文件夹下,在当前项目上点击右键--》Build Path--》Configure Build Path--》Order and Export,如果Android Private ...

    org.apache.http源代码和jar包

    该jar包包含: import org.apache.http.Header; ... ... ... ...解压缩后,将lib文件夹下的jar所有jar包导入到eclipse工程的libs中; 可以解决Android-SDK新更新之后,使用http缺少org.apache.http的一些问题.

    Android ZXing 2.3.0源码及编译后的core-2.3.0.jar和android-integration-2.3.0.jar打包亲测可用

    android-integration ——这是使用QR码工程需要引用的一个源码 androidtest ——这是一个Android的简单测试工程,好像是需要先安装android目录中的应用才能运行 core ——这是核心代码 其它文件夹都用不到的。。。 ...

    基于将Android工程做成jar包和资源文件的解决方法

    需要特别注意的是,以jar包和资源包方式提供给第三方开发者,我们的工程的代码中就不能使用类似于R.layout.main、R.string.name等等这样的方式来引用资源了。 为此,我们就不能直接使用R文件,而是要通过字段名称来...

    第三方分享的jar包和插件

    将文件中的jar包导入工程中的libs文件夹 并引用,在将 \第三方分享jar包和附件\Android\main\res 直接复制到项目中的src文件夹下的main文件夹里, 它会直接补齐你工程中缺少的部分,所以不用害怕它会替换掉你的原...

    yaml支持jar包——snakeyaml

    java工程中想要读取或者导出**.yaml文件所需要的支持jar包,下载解压后直接添加到项目中即可。 如果是使用eclispe创建的yaml文件,那么还需要下载eclipse支持yaml文档的插件

    Android工程:引用另一个Android工程的方法详解

    我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。 一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了。 但是,如果在工程A中用了R.java中的引用,则...

    android PackageManager 反射调用相关的类android_dependency.jar

    Android PackageManager 有很多方法是没有暴漏出来的,我们如果想调用的话需要用...android_dependency.jar 提供了反射调用相关的class定义,直接放到你的工程libs目录下面,然后就可以进行反射调用PackageManager的API

    天地图移动API开发包

    下载天地图移动API(Android)工程中引用的jar文件包及lib库。

Global site tag (gtag.js) - Google Analytics