Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们需要发布c++;Android上的预建库,如何组织库使用的资源? 我们在Android上有一个C++项目,它将被内置到A中,然后将A发布给我们的用户。_Android_Android Ndk - Fatal编程技术网

我们需要发布c++;Android上的预建库,如何组织库使用的资源? 我们在Android上有一个C++项目,它将被内置到A中,然后将A发布给我们的用户。

我们需要发布c++;Android上的预建库,如何组织库使用的资源? 我们在Android上有一个C++项目,它将被内置到A中,然后将A发布给我们的用户。,android,android-ndk,Android,Android Ndk,问题是,我们有很多资源文件,这些资源的路径是必需的,因为一些第三方LIB需要它们 android的限制是:如果我们想把一个文件放在android APK中,我们必须将它打包在res或assets中,并且它不再是单个文件,那么我们如何组织我们的资源呢 我们的计划是要求我们的用户将我们的资源打包到APK的资产中,然后我们可以将它们提取到其他文件夹中,但这对用户不友好,您有更好的想法吗 谢谢C++ Android项目,听起来很奇怪,可能你想说你有C++ ARM交叉编译静态库。它可以在Android项目

问题是,我们有很多资源文件,这些资源的路径是必需的,因为一些第三方LIB需要它们

android的限制是:如果我们想把一个文件放在android APK中,我们必须将它打包在res或assets中,并且它不再是单个文件,那么我们如何组织我们的资源呢

我们的计划是要求我们的用户将我们的资源打包到APK的资产中,然后我们可以将它们提取到其他文件夹中,但这对用户不友好,您有更好的想法吗


谢谢

C++ Android项目,听起来很奇怪,可能你想说你有C++ ARM交叉编译静态库。它可以在Android项目中加载。p> 我猜你想共享一个使用了很多资源的图书馆,你需要一种优雅的分发方式

尝试创建一个具有本机函数的.jar文件:

  • 首先创建核心类导出函数并定义 JNI的公共本机函数

  • 不要使用活动,如果需要访问活动上下文,请传递 通过参数

  • 如果要使用资源,您的布局将无法在中使用 你的父母安卓项目

  • 可以使用可绘制文件,也可以通过编程方式(使用活动上下文)添加布局文件

  • 如果要使用一些资源,如xml配置文件,请将 在res/raw文件夹或assets文件夹中

如果您具有良好的Java和JNI技能,那么这项任务就不那么困难了

希望这些建议对你有所帮助


干杯。

我认为你需要培养一种本土活动。如果你遵循,你可以创建一个工作应用程序来做任何你想做的事情。如果您想打开资产、处理,您可以这样做,然后从另一个应用程序启动此应用程序


如果您确实希望使用单个库,只需在c/cpp中执行,并使用提供资产路径和aassetmanager的JNI函数调用对其进行初始化,然后在本机中使用。您需要包括jni.h,当然您需要使用NDK工具链和gradle或cmake工具链脚本交叉编译库。

谢谢。我们的项目没有使用java,也没有任何GUI。你可以把它当作一个图像处理库。抱歉,但是我不明白你到底想做什么。如果你想提供一个图像处理库,创建一个.so库来链接这个.a处理模块,因为android不支持静态库。为了避免内部链接问题,请使用--whole archive选项,我建议使用cmake来简化链接。对不起,我没有清楚地描述我的问题。一个或.so并不重要,因为我们的用户将把它链接到他们自己的库中。让我们假设它是。那么,你有什么好主意来组织它的资源吗。如果我没有错的话,我们必须把资源放在android上的assets/res中,这要求我们的用户按照我们的预期组织他们的APK。你还有别的想法吗?顺便说一句,你的“整个档案”对我帮助很大。我正在调试一个由它引起的问题。非常感谢。