Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
构建配置和Android NDK_Android_Eclipse_Android Ndk_Buildconfiguration - Fatal编程技术网

构建配置和Android NDK

构建配置和Android NDK,android,eclipse,android-ndk,buildconfiguration,Android,Eclipse,Android Ndk,Buildconfiguration,在过去的几天里,我一直在努力让一个系统启动并运行,以构建我们Android NDK应用程序的多种配置。我能把图书馆建得很好;我遇到的问题通常源于在更改构建配置时使这些库保持最新 我需要一个大部分是完全自动化的系统:用户只需更改构建配置,一切正常 您是如何解决生成配置和未正确重建库的问题的? 我已经尝试了很多不同的方法,但它们最终似乎都会带来我无法掌控的问题 最初,不管构建配置如何(例如game.so),我们只输出一个同名的共享对象文件问题是,更改生成配置不会触发要重建的库;您必须更改源脚本或生成

在过去的几天里,我一直在努力让一个系统启动并运行,以构建我们Android NDK应用程序的多种配置。我能把图书馆建得很好;我遇到的问题通常源于在更改构建配置时使这些库保持最新

我需要一个大部分是完全自动化的系统:用户只需更改构建配置,一切正常

您是如何解决生成配置和未正确重建库的问题的?

我已经尝试了很多不同的方法,但它们最终似乎都会带来我无法掌控的问题

最初,不管构建配置如何(例如game.so),我们只输出一个同名的共享对象文件问题是,更改生成配置不会触发要重建的库;您必须更改源脚本或生成脚本。因此,人们从一个调试版本切换到另一个版本,运行应用程序,并且在不知不觉中仍然链接到调试版本

因此,我们尝试根据构建配置将库输出到唯一的共享对象。例如,调试版本是gamed.so。发布版本是gamer.so问题是,Java代码没有构建配置的概念,那么我们如何知道要加载哪个版本的库(哪些是从Java完成的)

为了解决这个问题,我们对库的所有可能版本进行了try/catch循环,试图加载它们。当我们找到一个存在的,加载它问题在于在手机上部署新配置时,旧版本的库不会被删除。因此,如果您已经构建并运行了Debug和Release,那么这两个库现在都可以使用了!无论你先要哪一个,它都会找到并加载

所以不管怎样,这似乎是必须解决的问题,但我在网上发现的信息很少。没有什么能满足我的需要


我的问题是:您是如何解决构建配置和库未正确重建的问题的?

这实际上很奇怪。我一直看到
install-r
刷新
/data/data/app.pack.age/lib
目录。您使用哪种设备进行开发

我用的是星系S2。它不是根目录,所以我想我无法查看数据目录中的实际内容。我不确定我支持“adb安装”的理由是什么。我正在通过Eclipse运行这个程序,没有看到任何对它的引用。也许它没有指定-r标志?你以前通过Eclipse做过吗?是的,我也通过Eclipse做过。不,您不需要root用户就可以读取已安装应用程序的
lib
目录:
adb shell ls-l/data/data/your.package.name/lib