[問題] aar裡面再包一個aar

作者: gn00618777 (非常念舊)   2017-10-01 22:47:30
抱歉..
才疏學淺
我提供sdk也就是 aar,裡面class會用到別人的套件
import com.cwmRotVecTransform_library.CwmRotVecTransformManager
類似這樣,我的class 會以上面的類別來宣告物件並使用他
這個CwmRotVecTransformManager 會call別人的套件內的 *.so
別人的套件也是提供一個aar給我,我想把它包在我的aar裡。
我在自己的 project(也就是sdk project) new → import aar
可以用,且編譯成 app-release.aar了
我的app-release.aar ,用在自己寫的demo apk卻說找不到
CwmRotVecTransformManager
我也試著在我的sdk project proguard-rules.pro keep 住此
com.cwmRotVecTransform_library.CwmRotVecTransformManager
仍然一樣。
解開自己的編譯出的 app-release.aar,看到裡面根本沒有別人提供的 .so
覺得是根本我的 sdk project 雖然 add 別人的 aar 了,但根本沒包進去。
總不可能打開別人的 aar ,自己一個一個慢慢加 jniLibs內的 .so到自己的
project吧..然後自己再宣告一個Manager在自己的project內..
Android studio 有沒有啥選項可以勾選的呢? 讓我可以將別人的aar 也一併包在我的
project 再 build 出 app-release.aar?
感謝看完
謝謝。
作者: ssccg (23)   2017-10-02 00:29:00
library這種東西本來就是不要包在一起,要用的人兩個aar都import就好了,未來要抽換也方便如果你有業務上的理由一定要這樣做,關鍵字: fat aar
作者: gn00618777 (非常念舊)   2017-10-02 09:51:00
謝謝 我有查到fat aar 的說明,我再研究研究謝謝,已解決..
作者: showsky (Ting Cheng)   2017-10-02 17:25:00
提供另外一個方法我是拆了AAR 包進去我自己的 AAR ...
作者: ssccg (23)   2017-10-02 17:32:00
如果只有一個aar而且那個aar不會有新版,我也覺得手動解壓把檔案複製到自己的專案最單純..不過會需要做很多次的話還是用build script處理方便...
作者: y3k (激流を制するは静水)   2017-10-03 07:12:00
沒有考慮過自架maven?XD
作者: ssccg (23)   2017-10-03 09:42:00
最後的aar是要提供給外部單位用,但不想發布在公開repo吧
作者: y3k (激流を制するは静水)   2017-10-03 23:56:00
maven repo可以做private的喔@@ 要auth才能的那種

Links booklink

Contact Us: admin [ a t ] ucptt.com