Android 尝试使用NDK生成编译64位共享库时出错

Android 尝试使用NDK生成编译64位共享库时出错,android,assembly,android-ndk,arm,arm64,Android,Assembly,Android Ndk,Arm,Arm64,我试图构建一个旧的ndk项目来获取64位共享库(arm64-v8a),但它只编译armeabi(根本没有提到应用程序ABI) 当我尝试构建arm64-v8alibs(刚刚将APP_ABI=arm64-v8a放入Application.mk)时,它给出了以下错误。 错误:操作数1应该是整数寄存器--str r2[sp,#(1024+(14*4))]` 与上面的行一样,它在cmd中抛出许多类似的错误行。我是从cmd构建的,而不是androidstudio或Eclipse 我只想构建一个64位的.so

我试图构建一个旧的
ndk
项目来获取64位共享库(arm64-v8a),但它只编译
armeabi
(根本没有提到应用程序ABI)

当我尝试构建
arm64-v8a
libs(刚刚将APP_ABI=arm64-v8a放入Application.mk)时,它给出了以下错误。
错误:操作数1应该是整数寄存器--
str r2[sp,#(1024+(14*4))]` 与上面的行一样,它在cmd中抛出许多类似的错误行。我是从cmd构建的,而不是androidstudio或Eclipse


我只想构建一个64位的.so文件,没有问题。提前感谢您的帮助。

库源代码似乎包含一些汇编代码。程序集不可移植,因此需要查找或写入相应的arm64程序集。或者,如果库仅将程序集用作可选优化,并且还包含等效的C代码,那么您可以尝试切换到C版本(这将由您决定是否以及如何实现此库)。是的,就像您所说的,程序集中只有一个文件(.S extn)。我是新来的。有没有办法让它适用于arm64?@NithisKumar它需要重新编写,或者用C/C++@NithisKumar替换。鉴于arm64程序集与ARM32程序集不向后兼容,您必须手动将代码移植过来。这不是一项艰巨的任务,但它需要ARM32和ARM64组装方面的知识。