2016-07-06 42 views
1

我想將特定於設備的本機代碼添加到我的本機android庫。將設備特定的文件添加爲codenameone本機庫

因此,換句話說,我有一個完整的*.so文件的文件夾: SO File List

我再有本地代碼contianing幾個庫一個單獨的應用程序CN1Lib。該示例應用showes此文件夾旁邊正常的.jar庫被添加,所以我做了同樣的用codenameone: native libs

含所有so文件(正確地命名爲每例如Android應用)soFolder

然後我構建這個CN1Lib,並將它添加到lib文件夾下的主項目中,該文件起作用。 但是,當我檢查codenameone APK並將其與示例android應用程序進行比較時,.so文件位於不同的位置。示例應用程序在其根目錄下有一個lib文件夾,代碼名爲app的應用程序位於assets文件夾下。這會導致需要這些文件的設備無法找到它們。

Example app vs Codenameone Structure

該示例應用是在左側,而codenameone應用是在右邊。

有沒有什麼辦法可以在使用codenameone的apk文件中的lib文件夾下獲得so文件夾?

幫助表示讚賞。

回答

2

如果你不想經歷創建AAR的麻煩,那麼就有一個半解決方案。

您可以創建一個普通的android庫項目,並在構建它之後,手動打開該壓縮文件,然後將lib文件夾放在那裏。然後將此jar文件添加爲本地Android依賴項。

當從codenameone構建回報,該文件夾應該坐在apk文件:)

正確的方法是最有可能的AAR方法,但它不是直接的一個一次性的做解。

+0

我現在使用這種方法,因爲它確實是一次性構建一次又一次的情況。但是,感謝Shai指出了更正確的道路。 – Propagandian

1

我還沒有工作過這麼多,所以我不是這裏的大專家,但據我所知,您需要在Android Studio中創建一個AAR文件並使用它。根據開發人員指南部分here

相關問題