有没有办法将汇编代码包含到android studio中的本机库模块中。
由于这个post说你只能包含* .C,*。CPP,* .c ++,*。cc,* .cp,*。cpp,* .cxx文件和srcDir我想知道是否可能有另一个解决方案或解决方法至少使用本机库编译它。
我想我可以预先编译汇编代码,然后将其链接到我的本机模块但是我会遇到问题,我必须在每次更改时重建它,然后重建项目本身这不是一个很好的工作流程如果您有任何更好的方式让我知道。
答案 0 :(得分:1)
首先在同一文件夹中的include
文件夹和jni
文件夹中创建libs
文件夹。您还可以在libs
文件夹内为不同的chipsets
(armeabi,mips,x86)创建不同的文件夹。
将include
文件夹中的.h文件和libs
文件夹中的编译文件(.a)复制
然后您必须更改build.gradle,在repository
model
repositories {
libs(PrebuiltLibraries) {
libYourCLibrary{
headers.srcDir "src/main/jni/include"
binaries.withType(StaticLibraryBinary) {
staticLibraryFile = file("src/main/jni/libs/${targetPlatform.getName()}/YOUR_C_LIBRARY.a")
}
}
}
}
在repository
model
的依赖关系
android.sources {
main {
jni {
dependencies {
library "libYourCLibrary" linkage "static"
}
}
}
}
最后使用gradles文件同步项目。