nex手机代码_android studio代码

nex手机代码_android studio代码NE10android编译_cc_prebuilt_library_sharedstrip

NE10仓库: git clone https://github.com/projectNe10/Ne10.git
关于编译方式,在代码的doc/building.md中有说明。
关于linux平台的交叉编译,基本不会遇到问题,在Android平台编译过程中遇到问题,花了一点时间。按照building.md中说明,过程如下,
cd $NE10_PATH
mkdir build && cd build
export ANDROID_NDK=/absolute/path/of/android-ndk
export NE10_ANDROID_TARGET_ARCH=armv7 # Can also be “aarch64”
cmake -DCMAKE_TOOLCHAIN_FILE=…/android/android_config.cmake …
make

问题主要出在Android ndk上,一开始用了android-ndk-r21e-linux-x86_64.zip版本,但是在NE10的编译脚本中使用gcc, g++等编译,在新版本的ndk中,已经没有g++,gcc的命令,用clang++, clang替换,中间也尝试修改android_config.cmake中的脚本工具,链接路径设置等,一度认为接近成功,但最终由于ld, -lc++报错放弃。
(使用21e版本的ndk,源于误解了:
ANDROID_API_LEVEL specifies the Android API level.

  • This defaults to the value 14, but must be greater than or equal to 21 for AArch64 targets.
    认为也需要ndk为21以上的版本。)

最终采用android-ndk-r14b-linux-x86_64.zip的ndk成功编译android版本armv7和aarch64版本的so文件,编译方式按照文档中步骤。

在android.bp中引用:
cc_prebuilt_library_shared {

name: “libNE10”,

  vendor: true,

  proprietary: true,

  strip: {
      none: true,
  },

  compile_multilib: "both",

  multilib: {
      lib64: {
          srcs: ["lib64/libNE10.so"],
      },
      lib32: {
          srcs: ["lib/libNE10.so"],
      },
  },

  relative_install_path: "soundfx",

}

cc_library_shared {


shared_libs: [

libNE10,
],

}

如果未加cc_prebuilt_library_shared定义,则报错:
Android.bp:25:1: “lib” depends on undefined module “libNE10”

关于生成so文件名,默认为libNE10.so.10,在android.bp的引用一直报错,多了.10认不到,试过软链接也没成功。
解决办法在生成so库时,删除.10后缀(直接修改so文件名是不行的)
在这里插入图片描述
去除VERSION配置,如下图,生成so即不带.10后缀
在这里插入图片描述

今天的文章nex手机代码_android studio代码分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/83871.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注