2011-05-04 97 views

回答

33

基於Gradle的new Android Build System支持庫項目中的資源文件夾!

使用Ant構建基於它仍然不可能:

庫項目不能包含原始資產。 (見docs

但是你可以

+1

以防萬一,目前尚不清楚(因爲這不是我的):您不需要在Android Studio中使用Gradle配置任何特別的東西:看起來庫的資源會自動包含在內。 – user2808624 2018-01-06 11:24:20

+0

@ user2808624是的,但我想補充一點,您可能需要將消費應用程序的'build.gradle'中的依賴項聲明爲'@ aar',以確保依賴項包含爲'aar'而不僅僅是'jar'。在所有情況下,這可能都沒有必要,但我發現大部分時間都是必要的。所以爲了安全起見,當依賴一個需要共享資源的庫時,我會使用'@ aar'後綴。我認爲這是在Maven上部署庫時所必需的 – Sakiboy 2018-02-06 08:13:03

2

從Eclipse和ANT你可以參考來自多個項目的相同「資產」文件夾。 這允許您的源代碼樹擁有資產文件的單個副本,但將它們包含在多個APK中。

Android: targeted res folders for debugging in eclipse

從項目A我能夠從項目B引用.. \項目A \資產。 在Eclipse上(至少在Windows下,我還沒有在Linux上嘗試過),我不得不創建一個新變量來引用.. \ ProjectA,並在「鏈接文件夾位置」中使用該變量。如果我試圖在「鏈接文件夾位置」中使用「..」,eclipse將不會接受它。

11

它有可能把資產注入導致庫jar的小修正:
PUT 「custom_rules.xml」 到你的資料庫項目主頁(build.xml中附近):

<?xml version="1.0" encoding="UTF-8"?> 
<project name="custom_rules"> 
    <target name="-post-compile" if="${project.is.library}"> 
    <echo>Post Compile: add assests from ${asset.absolute.dir} to ${out.library.jar.file}</echo> 
    <jar destfile="${out.library.jar.file}" update="true"> 
     <zipfileset dir="${asset.absolute.dir}" prefix="assets" excludes="**/*.java ${android.package.excludes}"/> 
    </jar> 
</target> 

這會將您的庫資產打包到您的庫jar中。因此,這些資產將被包含在您的應用程序的結果.apk中。

經過對Android SDK工具版本21.1.0上OSX

+0

這實際上工作..感謝 – calinb 2013-04-06 17:01:59

+0

但是,這不會用Eclipse做到,或者它呢? – nob 2013-04-16 14:09:44

+0

好吧,這應該工作,如果你用螞蟻建設 – calinb 2013-04-16 20:38:30

1

對於使用IntelliJ IDEA的這些,你可以更改您的應用程序模塊的包裝設置包括depedent資產。請注意,這是在IntelliJ Community版本的14.0.2版上完成的。我的主應用程序模塊現在繼承了我的圖書館項目的資產文件夾中的文件,就好像它們在主項目中一樣!

右鍵單擊應用程序模塊> Open Module SEttings。在模塊>打包選項卡上選擇Android樹節點。選中「將依賴項中的資產包含到APK中」

注意:我從來沒有使用Android Studio,但我猜想在該應用程序中有類似的設置。

enter image description here

enter image description here

+0

我知道你不應該發表「謝謝」評論。但是,謝謝!我剛剛升級了我的IntelliJ,我的圖書館資產消失了。 – 2015-03-27 23:52:49

0

通過創建的Android LIB項目,創建後關閉的開始。這會卜自動構建的窗口上

使用CMD端子的Android命令是批處理文件

添加工具路徑 C:\用戶\ user_bss> PATH =%PATH%; C:\ ADT-束-Windows的x86-20140321 \ SDK \工具

生成的build.xml螞蟻 Android的更新項目-p C:\用戶\ user_bss \文件\工作區\ -N SDKAdvanced SDKAdvanced

記事本custom_rules.xml從添加代碼以上別忘了結束標籤

下運行「ant調試」或「螞蟻發佈」打造

你會看到在bin目錄classes.jar這是你裝的lib

相關問題