我想将特定于设备的本机代码添加到我的原生android libs。
然后我有一个单独的CN1Lib应用程序,其本机代码包含几个库。示例应用程序显示此文件夹与正常的.jar库一起添加,因此我使用codenameone执行相同的操作:
包含所有soFolder
文件的so
(根据示例Android应用程序正确命名)。
然后我构建了这个CN1Lib,并将其添加到lib文件夹下的主项目中。
但是,当我检查codenameone APK并将其与示例Android应用程序进行比较时,.so文件位于不同的位置。示例应用程序将其放在根目录下的lib
文件夹下,而codenameone应用程序将其放在assets
文件夹下。这会导致需要这些文件的设备无法找到它们。
示例应用程序位于左侧,而codenameone应用程序位于右侧。
有没有办法使用codenameone获取apk文件中so
文件夹下的lib
文件夹?
对此表示感谢。
答案 0 :(得分:2)
如果您不想解决创建AAR的麻烦,可以采用半解决方案。
你可以创建一个普通的android库项目,在构建它之后,手动打开存档,然后将lib文件夹放在那里。然后,将此jar文件添加为本机android依赖项。
当构建从codenameone返回时,该文件夹应该位于apk文件中:)
正确的方法很可能是AAR方法,但对于一次性解决方案来说,这并不是那么简单。
答案 1 :(得分:1)
我还没有这么做,所以我不是这里的大专家,但据我所知,你需要在Android Studio中创建一个AAR文件并使用它。基于开发者指南部分here。