如何在 CodeNameOne 项目中指定 abiFilters?

Posted

技术标签:

【中文标题】如何在 CodeNameOne 项目中指定 abiFilters?【英文标题】:How can I specify abiFilters within CodeNameOne project? 【发布时间】:2020-10-03 13:38:59 【问题描述】:

如何在 CodeNameOne 项目中指定 abiFilters(Gradle 应使用 android APK 构建和打包的原生库的配置)?

android 
    defaultConfig 
        ndk 
            abiFilters 'armeabi-v7a'
        
    


提前致谢,

【问题讨论】:

【参考方案1】:

作为构建过程的一部分,您可以使用各种构建提示向 gradle 构建注入各种东西,但在这种情况下,您不应该...

“正确的方法”是创建一个包含您需要的库的自包含 AAR 文件,然后将其放入 android/native 目录。一旦它在那里,您的本机接口就可以导入库的 Java 包并直接调用它。

【讨论】:

感谢您的回复,我的本机代码已经在仅支持 armeabi-v7a 的 aar 文件中(出于某些原因)。即使我的代码包含在 aar 文件中,应用程序也无法加载 armeabi-v7a 库,因为尚未通知应用程序 somme aar 仅支持 32 位的 armeabi-v7a 和应用程序创建的进程(默认)设备是 64 位的。这些是否有任何解决方案来定义 abiFilters ? 可以添加构建提示android.xgradle_default_config=ndk abiFilters 'armeabi-v7a'; 谢谢 .. 这个构建提示对我有用 .. android.xgradle_default_config=ndk abiFilters 'armeabi-v7a';

以上是关于如何在 CodeNameOne 项目中指定 abiFilters?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 API 项目中指定实体框架连接字符串

如何使用 Spring Security SAML 插件在项目中指定 updatePasswordUrl,如 loginFormUrl = '/saml/login'

如何调试 Gradle 为啥使用我在依赖子项目中指定的不同版本的库?

如何在 Devenv 中指定发布版本?

在 Xcode 中,如何在我的项目设置中指定正确的库以避免链接错误?

如何在类型提示中指定函数类型?