在android gradle实验中组装

时间:2016-08-01 14:20:56

标签: android android-studio assembly android-ndk android-gradle

有没有办法将汇编代码包含到android studio中的本机库模块中。

由于这个post说你只能包含* .C,*。CPP,* .c ++,*。cc,* .cp,*。cpp,* .cxx文件和srcDir我想知道是否可能有另一个解决方案或解决方法至少使用本机库编译它。

我想我可以预先编译汇编代码,然后将其链接到我的本机模块但是我会遇到问题,我必须在每次更改时重建它,然后重建项目本身这不是一个很好的工作流程如果您有任何更好的方式让我知道。

1 个答案:

答案 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文件同步项目。