2017-08-17 72 views
2
task copyLibs(type: Copy) { 
    mybuildpath('path.name').string.split(" ") 
      .collect { 
     mybuildpath('[' + it + ']pkg.lib').string 
    } 
    .findAll { 
     it.length() > 0 
    } 
    .each { 
     from(new File(it)) { 

      if (!getCurrentFlavor().contains('SomeKeyWord')) { 
       include '**/folder1/**/*.so' 
       include '**/folder2/**/*.so' 
       //    include '**/lib1.so' 
       //    include '**/lib2.so' 
       //    include '**/lib3.so' 
       //    include '**/lib4.so' 
      } else { 
       include '**/*.so' 
      } 
     } 
     into new File(buildDir, 'native-libs-folder') 
    } 
} 

這在我的項目的android.gradle中,我必須在編譯期間包含幾個.so文件。 文件夾1和文件夾2擁有所有這些庫[LIB1,LIB2,...等],我想包括他們所有。 但是這個代碼不工作,它不是在導入我的家鄉 - 的lib文件夾, 任何庫但當我評論的2線並取消以下4這些特定的**/lib1.so,...等等,, ]這4個庫被複制到native-lib文件夾中。 我已經搜查,我覺得正則表達式語法是正確的,但仍然無法理解我在做什麼錯。 請指導無法在android.gradle中正確設置文件的路徑

回答

1

ii是Ant path style不是正則表達式。

嘗試

include '/folder1/*.so' 
include '/folder2/*.so' 

代替。

相關問題