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

  一:

    新建一個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跳轉:

     

[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.             }    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章