Android Gradle插件:将NDK可执行文件打包到APK中

时间:2018-12-05 04:12:33

标签: gradle android-ndk

尝试构建NDK二进制文件并将其打包为APK。

Studio Build:

  • Android Studio 3.2.1
  • 内部版本#AI-181.5540.7.32.5056338,建于2018年10月9日
  • Gradle插件版本:3.2.1
  • Gradle版本:4.6
  • Java版本:JRE:1.8.0_152-release-1136-b06 x86_64
  • JVM:JetBrains s.r.o的OpenJDK 64位服务器VM
  • OS:macOS 10.13.6

复制步骤:

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配置中缺少什么。

0 个答案:

没有答案