android jar 第三方jar包,在android系统经过makefile方式添加第三方jar包

在里在编译一个java应用时,若是这个应用须要一个第三方的jar包,那么就须要将这个三方的jar包经过mk文件将其编译到apk里,下面是将一个三方的jar包编译到apk包里的方法.html

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_STATIC_JAVA_LIBRARIES += zxingtool

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += zxingtool:libs/zxing.jar

include $(BUILD_MULTI_PREBUILT)

关键在于:java

LOCAL_STATIC_JAVA_LIBRARIES += zxingtool

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += zxingtool:libs/zxing.jar

其实zxingtool是个名字能够随便取,可是两个属性的值要同样就行了,可是后面那个冒号里面就必定要写你的jar包名,你的jar包必定放在工程的根目录就是和mk文件的同级目录。app

要注意:zxingtool这个名必定要是惟一的,要不编译就会出错,好比有两个应用里都用到了zxingtool这个包名,那么在编译时就会出现一下的错误信息:ui

***/packages/apps/ValidationTools:MODULE.TARGET.JAVA.LIBRARIES.libarityalready defined by packages/apps/camerathis

意思就是用两处定义了libarity,一处是/packages/apps/ValidationTools,另外一处是packages/apps/cameraspa

再补充一下,有好多遇到这样的问题的,网上给的答案都是在  build/core/base_rules.mk.net

# Make sure that this IS_HOST/CLASS/MODULE combination is unique.

module_id := MODULE.$(if \

$(LOCAL_IS_HOST_MODULE),HOST,TARGET).$(LOCAL_MODULE_CLASS).$(my_register_name)

ifdef $(module_id)

$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))

endif

把里面的报错注释掉,这是很是很差的事情。code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值