库项目被引用为原始项目依赖项(基于源的机制),而不是已编译jar依赖项(基于已编译代码的库机制)。
@yorkw对于适用于Eclipse的ADT插件的最新版本不是这样, http://developer.android.com/sdk/eclipse-
adt.html
从版本17更改日志
新的构建功能添加了自动设置JAR依赖项的功能。/
libs文件夹中的所有.jar文件都将添加到构建配置中(类似于Ant构建系统的工作方式)。同样,库项目所需的.jar文件也会自动添加到依赖于那些库项目的项目中。(更多信息)
更多信息http://tools.android.com/recent/dealingwithdependenciesinandroidprojects
在此之前,从库项目更新覆盖活动很容易,只需要排除该类即可。现在,该库作为jar文件包含在内,并且无法从jar依赖项中排除类文件。
编辑:
我从库jar覆盖/扩展Activity的解决方案:
我创建了一个简单的util类:
public class ActivityUtil {private static Class getActivityClass(Class clazz) { // Check for extended activity String extClassName = clazz.getName() + "Extended"; try { Class extClass = Class.forName(extClassName); return extClass; } catch (ClassNotFoundException e) { e.printStackTrace(); // Extended class is not found return base return clazz; }}public static Intent createIntent(Context context, Class clazz) { Class activityClass = getActivityClass(clazz); return new Intent(context, activityClass);}}为了覆盖该库的“SampleActivity”类,它是一个依赖于该库的项目,请在同一包中的项目中创建一个名称为SampleActivityExtended的新类,并将新活动添加到您的AndroidManifest.xml中。
重要说明:所有引用覆盖活动的意图都应通过util类以以下方式创建:
Intent intent = ActivityUtil.createIntent(MainActivity.this, SampleActivity.class);...startActivity(intent);



