Android Library Project 工程依赖:manifestmerger.enabled=true

本文详细介绍了在Android开发中使用library项目时遇到的问题及解决方法,包括manifest文件的合并、assets目录文件的自动合并、SDK版本一致性确认等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android可以通过use library来引用另一个Project,实际开发过程中遇到了很多稀奇古怪的问题,总结如下:

1. 通常情况下library 工程的AndroidManifest.xml中的 <uses-permission>、<meta-data> 等元素会被merge 到主工程的AndroidManifest.xml中,但是像<service>、<receiver>、<activity>等元素却不会merge过去。不知道是什么原因,Android 真TMD要逆天了。

2. library 工程的assets目录下的文件也不会自动merge 到主工程。

解决办法:
1. 在主Project的project.properties里加上如下一句,编译时就可以自动合并library 工程和主工程的manifest 文件了。

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
<span style="background-color: rgb(255, 255, 102);">manifestmerger.enabled=true</span> 
2. 实际编译过程中可能会报错:You should be confirmed some point like ADT version, Also Minimum and target SDK should be same as library project.
你应该确保adt版本ADT(可能是 20.0.1以上),并且两个工程的<uses-sdk>必须保持一致。
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值