环境......
我有一个全新的Visual Studio 2015 Android NDK解决方案。 这包含2个项目(由visual studio生成的默认模板代码):
我已将此成功部署到Intel HAXM虚拟设备以及通过USB连接的真实设备。到目前为止一切都很好。
然后我添加了一个Android动态库项目(.so) - 这是我想放置核心代码(平台无关)的地方。 我在本机活动项目中添加了对此Core库的引用。
所有内容都可以编译和链接。我仍然可以创建一个.APK文件。
其他信息:
问题......
现在每当我部署到虚拟/真实设备时,我都会收到以下错误(取自logcat)
xquery version "3.0";
let $node :=
<persName>
<forename>Gaius</forename>
<surname>Iulius</surname>
<addName>Caesar</addName>
</persName>
return
(
if ($node/forename) then "1" else "0",
if ($node/surname) then "1" else "0",
if ($node/surname and $node/forename) then "1" else "0"
)
我尝试过的事情......
有些文章建议使用Java代码加载库 - 我想避免调用Java代码,例如System.LoadLibrary因为这看起来像是一个黑客 - 我觉得应该有可能在android上有一个纯C ++应用程序。我不能成为遇到这个问题的唯一人吗?!
这看起来很有意义,但对于必须非常普遍的情况来说,又是一次不必要的破解 - Can't load native shared library with dependencies in a native activity app - https://github.com/ikonst/android-dl
为了它的价值,我是Visual Studio(15年)的经验丰富的C#开发人员。 因此,在开发应用程序时,我认为很多事情都是理所当然的 - 这是我第一个使用C ++ / Android的项目,似乎更像是一场让一切运转起来的手动战斗!
答案 0 :(得分:0)
已经挣扎了一段时间但是设法部署了这些库,最终很容易。
在解决方案资源管理器中右键单击项目[theProject(Andorid-xx)],然后选择添加新项目,添加.so库。
右键单击新添加的库并选择属性,项类型应为库,将Content设置为Yes,这将部署lib。