我目前正在将项目从Ant / ndk-build迁移到Gradle / CMake。我没有从Android Studio编译,而是从命令行编译。我已经成功将一个更大的项目迁移到Gradle。但是现在我需要迁移一些最终产品只是一个共享对象的库项目,而不是一个完整的APK。
所以我想知道什么是编译Android项目的最佳方法,这些项目不会导致APK而只是在共享对象中? Gradle看起来总是会为我编译APK,但在这种情况下我不需要它。那么我应该按照here描述使用CMake吗?但这看起来相当复杂,因为我必须通过各种内部路径,这些路径可能会随着每次SDK / NDK更新而改变,而Graake可能会自动为我管理。
那么在不使用Android Studio的情况下从命令行编译Android共享对象的最佳方法是什么?有没有办法将Gradle放入库模式,以便它不会组装APK?
答案 0 :(得分:1)
从项目的根目录运行gradlew buildNative
。这将构建您的* .c文件。这只是NDK的包装器,因此它将生成与从ndk-build
目录中运行app/src/main/jni
相同的输出。
这假设您在app/src/main/jni
中拥有源文件,头文件和makefile。结果将是您的* .so文件。