尝试构建NDK二进制文件并将其打包为APK。
Studio Build:
复制步骤:
Android.mk
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := ../../hello.c
LOCAL_CFLAGS := -g -fPIE
LOCAL_LDLIBS := -fPIE -pie
include $(BUILD_EXECUTABLE)
分级配置
android {
compileSdkVersion 26
buildToolsVersion '28.0.3'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
jniLibs.includes = ['anything']
}
}
如果选择了共享库而不是可执行文件,我可以看到libhello.so
打包在/ lib下的apk中。
如果将其设置为 BUILD_EXECUTABLE ,则在编译二进制可执行文件时不会发生任何事情。我不知道我在gradle配置中缺少什么。