How do I build a native (command line) executable to run on Android?

前端 未结 4 598
囚心锁ツ
囚心锁ツ 2020-11-28 21:04

I\'ve had success with building an Android app (GUI) that uses a native (JNI) library.

However, now I would like to create an executable that runs from the command l

4条回答
  •  清酒与你
    2020-11-28 21:57

    As of NDK r8d, this can be solved in a much simpler way.

    1. Create a project with the following directory hierarchy:

      project/
          jni/
              Android.mk
              Application.mk
              *.c, *.cpp, *.h, etc.
      
    2. Fill in Android.mk with the following content. The most important thing is the last line. Check the NDK doc for the meaning of the other variables.

      LOCAL_PATH := $(call my-dir)
      
      include $(CLEAR_VARS)
      
      LOCAL_MODULE := name-of-your-executable
      LOCAL_SRC_FILES := a.cpp b.cpp c.cpp etc.cpp
      LOCAL_CPPFLAGS := -std=gnu++0x -Wall -fPIE         # whatever g++ flags you like
      LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -fPIE -pie   # whatever ld flags you like
      
      include $(BUILD_EXECUTABLE)    # <-- Use this to build an executable.
      
    3. Go to the project/ directory, and simply type

      ndk-build
      

      The result will be placed in project/libs//name-of-your-executable.

提交回复
热议问题