2016-07-06 39 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

相关问题