android 依赖工程 Android 工程引用其他Library工程

  一:

    新建一个Android工程只需要把IsLibray设置打上勾就行了

   android 依赖工程 Android 工程引用其他Library工程

   添加好后其他工程就可以使用该工程里边的东西了,可以直接启动依赖工程里边的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跳转:

     

[java] view plain copy
  1. public <T> void RelInvoke(Class<T> t,Object _ma) throws Exception  
  2.      {    
  3.          t.getDeclaredMethod("switchContent",Fragment.class).invoke(_ma,new ShipScheFragment());//参数为Fragment     
  4.      }  
     
[java] view plain copy
  1. Object ma =  getActivity();  
  2.                
  3.              try {  
  4.                 RelInvoke(ma.getClass(),ma);  
  5.             } catch (Exception e) {  
  6.                 System.out.println("反射调用方法报错:"+e);  
  7.             }