0

我正在尝试在 Android 中使用 SQLCipher。他们通过添加依赖项使集成变得非常容易:

implementation 'net.zetetic:android-database-sqlcipher:4.2.0@aar'

他们有很好和简单的例子,然后在 Java 中使用它,但我的应用程序是 c++,我使用的是 NDK。SQLCipher 主要是 C 代码,所以我知道这是链接到一些已编译的 C 代码。标头可以使用吗?这些依赖项安装在哪里。我是一名刚接触 Android 的 iOS 开发人员,所以我觉得这应该很简单,但我只是错过了一些东西。

4

2 回答 2

1

当前不支持从 AAR 使用 C/C++ 依赖项。我们正在这里解决这个问题:https ://github.com/android-ndk/ndk/issues/916

但我应该注意,即使完成了,sqlcipher 确实需要选择公开该库。AAR 当前不包含包含,并且它可能不是一个稳定的 API,因此他们可能选择不公开它。

于 2019-06-28T20:57:39.467 回答
1

对于 ndk 可以直接使用的库,您需要它的 .so 版本来链接。如果您包含这样的库,您将使用 JNI 通过 Java 访问它。

我建议不要破解一些东西来直接访问他们的 .so 文件。如果您直接针对他们的 .so 文件,他们的 Java 代码很可能具有防止错误或未正确设置的初始化事物的业务逻辑。

于 2019-06-28T20:40:58.957 回答