我在我的項目上慢速打包和部署問題。每個體系結構的本地庫需要大約10秒的時間來打包。如何在Android上單獨部署本機庫?
我想加快我的構建&部署週期將本地庫從包中分離出來,因爲本地庫的更改不會經常發生。
我的想法是將本機庫分別部署到設備上,並創建.apk而不需要耗費更少的時間。
有沒有什麼好的方法可以做到這一點?
我在我的項目上慢速打包和部署問題。每個體系結構的本地庫需要大約10秒的時間來打包。如何在Android上單獨部署本機庫?
我想加快我的構建&部署週期將本地庫從包中分離出來,因爲本地庫的更改不會經常發生。
我的想法是將本機庫分別部署到設備上,並創建.apk而不需要耗費更少的時間。
有沒有什麼好的方法可以做到這一點?
如果您的設備已生根,您可以將庫推入/system/lib
(通過adb remount
)。現在,Java調用System.loadLibrary("mynative")
將透明加載/system/lib/libmynative.so
而不是/data/app-lib/com.my.app/libmynative.so
( catch:即使文件/data/app-lib/com.my.app/libmynative.so
存在,它也會這樣做,因此我們必須小心選擇本地庫的名稱,以免它們「隱藏」通過系統庫,包括最深奧的設備,請參閱https://stackoverflow.com/a/11004872/192373)。另一方面,您可以將庫推到其他地方,並且 - 直到應用程序穩定 - 用System.load("/data/local/tmp/libmynative.so")
或任何您喜歡的路徑替換System.loadLibrary("mynative")
。