2017-09-06 77 views
0

我有一個Android模塊,可以從中導出.aar文件。 我用Android Studio Wizard導入了這個.aar,項目編譯,但是在運行時崩潰了「java.lang.NoClassDefFoundError」。 我檢查與調試器,Class.forName(「retrofit2.Retrofit」)..找不到。如何將Android庫導出爲.aar並保留我的Gradle依賴關係?

解壓.arar &檢查classes.jar後,我只看到我的包,顯然它沒有打包我在build.gradle中引用的庫(例如:Okhttp,Retrofit,Gson ..)。

我想要的是一種方法來保持我的build.gradle相關性。如果可能,我寧願將它打包成.aar,否則有什麼選擇?強制客戶端添加他自己的gradle我的依賴關係?

額外信息:我只有gradle依賴關係,沒有罐子。

回答

1

通過工件存儲庫分發AAR。工件存儲庫(例如POM文件)中的元數據將包含有關您的傳遞依賴關係的信息。它還會提供有關您的AAR版本的信息,以便AAR的消費者對他們正在使用的版本有明確的信息。這是幾乎所有其他的東西都是分佈式的:支持庫,改造等。

+1

一如既往的乾淨整潔;我會補充一點,你可以在這裏找到更多關於Artifactory的信息:https://jeroenmols.com/ blog/2015/08/06/artifactory /並記住將pom中的依賴關係添加到發佈gradle任務,因爲它們不包含在標準發佈任務中。 – w00ly