2015-10-09 49 views
0

我剛剛創建了一個機器人庫模塊,現在我想將其導出爲.jar文件(就像我曾經在Eclipse中做),這樣我就可以用它在其他項目中,只需將其作爲外部庫文件鏈接即可。出口的Android庫作爲.jar文件

的問題是,我剛剛從官方網站讀到「你可以一個庫模塊不能導出到一個JAR文件」:https://developer.android.com/tools/projects/index.html所以

我該怎麼辦呢?我能做些什麼來獲得相同的結果嗎?

感謝

回答

1

你必須將其導出爲.AAR文件。無法將Android Studio庫導出爲.jar文件。

Android .AAR Format

檢查了這一點:https://androidbycode.wordpress.com/2015/02/23/building-an-aar-library-in-android-studio/

AAR的目的:圖書館再利用Java中長期以來一直可用的基於 應用程序通過Java歸檔(.jar)文件的文件。 Android AAR文件 基於這一概念,可讓您不僅打包源碼 代碼,還打包自帶Android資源的庫。該 庫都可以有自己的清單和資源,還可以 選擇性地提供資產,NDK建庫,proguard的配置 ,甚至自己的定製皮棉過濾器。這些都歸入zip 存檔中,可以發佈到您的團隊的存儲庫(或世界上的 !)以便通過Gradle構建輕鬆訪問。

這是如何創建由@ alex18aa的.AAR文件:

File - >New module - >Import aar/jar,然後在模塊設置中添加了dependencie,和連接它。

+0

所以我可以在其他android項目中使用.aar輸出作爲舊的.jar文件?確切地說, – alex18aa

+0

! :和主要區別是.AAR文件包含資源:D – Jorgesys

+1

謝謝它的工作原理!我認爲這樣說也很重要,你必須這樣做:文件 - >新建模塊 - >導入aar/jar,然後在模塊設置中添加依賴關係,並鏈接它。再次感謝! – alex18aa

0

查看AAR文件。他們是Android庫,不僅可以包含代碼,還可以包含資源!

0

AAR:查找AAR文件等我做到這一點的方法是:

uploadArchives { 
repositories.mavenDeployer { 
    repository(url: "someDirectory/") 
} 

}

然後./gradlew clean build uploadArchives


JAR:如果你不」沒有資源文件,只需將其添加到您的build.gradle:

task makeJarRelease(type: Copy) { 
    from("build/intermediates/bundles/release/") 
    into("some_directory/") 
    include("classes.jar") 
    rename("classes.jar", "yourlibname.jar") 
} 

然後運行一個./gradlew clean build makeJarRelease

這將做到這一點。

是的,Android Studio導出.AR文件,這是新標準。但是,如果你需要一個jar文件,那你怎麼做到的。

同樣,如果您想以這種方式執行此操作,那麼不能包含的res文件夾(即無XML文件或可繪製文件)。

+0

是的,但以這種方式,我只是有類......我可以使用它作爲外部庫..因爲我還需要其他資源 – alex18aa

+0

然後,你必須做其他人都說,並作爲一個AAR文件導出。 – VicVu