android 依赖工程 Android(安卓)工程引用其他Library工程
16lz
2022-01-18
一:
新建一个android工程只需要把IsLibray设置打上勾就行了
添加好后其他工程就可以使用该工程里边的东西了,可以直接启动依赖工程里边的activity,添加fragment等
注意:
A为普通Android工程B为设置了is Library的工程,B中有使用R.id,当A工程引用了B工程时会在A工程的gen目录中生成B的R文件,里面也包含了A的R文件中的内容,但是当B的id 定义在layout文件中时需要注意layout的名称,如果A下有个main.xml的layout,B下也有个main.xml的layout,那么A编译时就会将B的main.xml中的所有id忽略,导致混淆报错提示 找不到id
所有问题出在,被引用的项目和当前项目之间的资源冲突。假如当前项目存在与被引用项目相同的资源(除了layout外
,还包括图片,styles等等)就会默认使用当前项目的资源,完全忽略被引用项目的资源
所以依赖工程的命名,最好统一加一个前缀~~
二:Library工程调用主工程
直接不用调用可以使用反射调用, 比如fragment跳转:
public void RelInvoke(Class t,Object _ma) throws Exception { t.getDeclaredMethod("switchContent",Fragment.class).invoke(_ma,new ShipScheFragment());//参数为Fragment }
Object ma = getActivity(); try {RelInvoke(ma.getClass(),ma);} catch (Exception e) {System.out.println("反射调用方法报错:"+e); }
更多相关文章
- Android屏幕锁定实例源码详解教程一
- 开篇--基于Android的小巫新闻客户端开发
- android 调用系统文件管理器
- Unity在Android和iOS中如何调用Native API (1)
- 混合开发之ReactNative调用Android原生方法
- Android开发者必须深入学习的10个应用开源项目
- QtAndroid详解(5):JNI调用Android系统功能(2)
- 《Android移动应用基础教程》(Android(安卓)Studio)(第二版)黑马教程
- Android使用JNI实现Java与C之间传递数据