This is a template for creating an Android NDK project for Android Studio The following steps are performed on this template: -Copy/Rename 'untitled' folder to new location [root] local.properties: -replace path references to SDK & NDK untitled.iml -rename file (no other changes for root) [.idea] modules.xml -untitled gradle.xml -path to gradle "gradleHome" .name -replace content with new program name (no other changes for .idea) [scopes] (no changes required) [copyright] (no changes required) [gradle] (no changes required) [app] app.iml -untitled build.gradle -com.example.untitled -commandLine 'c:\\ndk\\ndk-build.cmd','-C', file('src/main').absolutePath (no other changes required) [src/main] AndroidManifest.xml -com.example.untitled (no other changes required) [assets] (no other changes required) [res/values] strings.xml -untitled (no other changes required) [jni] [temp] -replace with a copy of everything in the temp folder [c] -replace with a copy of everything from the c folder (with selective restrictions) FILTER: *.h *.c *.cpp *.mm EXCLUDE: [c_compiler/*] [*/os/*] Application.mk -# #Flags for image dependency APP_CFLAGS += -D DEPENDENCY_IMAGE_CODEC #Flags for font dependency APP_CFLAGS += -D DEPENDENCY_LOADFONT #Flags for audio dependency APP_CFLAGS += -D DEPENDENCY_AUDIO_OUT APP_CFLAGS += -D DEPENDENCY_AUDIO_CONVERSION APP_CFLAGS += -D DEPENDENCY_AUDIO_DECODE Android.mk -# ----------------------------------------------------------------------------------------------------------------- include $(CLEAR_VARS) OPENAL_DIR := c/parts/audio/out/android/OpenAL AL_SOURCES := \ $(OPENAL_DIR)/Alc/android.c \ $(OPENAL_DIR)/OpenAL32/alAuxEffectSlot.c \ $(OPENAL_DIR)/OpenAL32/alBuffer.c \ $(OPENAL_DIR)/OpenAL32/alDatabuffer.c \ $(OPENAL_DIR)/OpenAL32/alEffect.c \ $(OPENAL_DIR)/OpenAL32/alError.c \ $(OPENAL_DIR)/OpenAL32/alExtension.c \ $(OPENAL_DIR)/OpenAL32/alFilter.c \ $(OPENAL_DIR)/OpenAL32/alListener.c \ $(OPENAL_DIR)/OpenAL32/alSource.c \ $(OPENAL_DIR)/OpenAL32/alState.c \ $(OPENAL_DIR)/OpenAL32/alThunk.c \ $(OPENAL_DIR)/Alc/ALc.c \ $(OPENAL_DIR)/Alc/alcConfig.c \ $(OPENAL_DIR)/Alc/alcEcho.c \ $(OPENAL_DIR)/Alc/alcModulator.c \ $(OPENAL_DIR)/Alc/alcReverb.c \ $(OPENAL_DIR)/Alc/alcRing.c \ $(OPENAL_DIR)/Alc/alcThread.c \ $(OPENAL_DIR)/Alc/ALu.c \ $(OPENAL_DIR)/Alc/bs2b.c \ $(OPENAL_DIR)/Alc/null.c \ $(OPENAL_DIR)/Alc/panning.c \ $(OPENAL_DIR)/Alc/mixer.c \ $(OPENAL_DIR)/Alc/audiotrack.c \ $(OPENAL_DIR)/Alc/opensles.c LOCAL_MODULE := parts_audio_out LOCAL_SRC_FILES := $(AL_SOURCES) LOCAL_C_INCLUDES := \ $(HOME)/src/openal-soft/jni/OpenAL \ $(HOME)/src/openal-soft/jni/OpenAL/include \ $(HOME)/src/openal-soft/jni/OpenAL/OpenAL32/Include \ c/parts/audio/out/android/OpenAL/OpenAL32/Include LOCAL_CFLAGS += \ -DAL_ALEXT_PROTOTYPES \ MAX_SOURCES_LOW ?= 4 MAX_SOURCES_START ?= 8 MAX_SOURCES_HIGH ?= 64 LOCAL_CFLAGS += -DMAX_SOURCES_LOW=$(MAX_SOURCES_LOW) -DMAX_SOURCES_START=$(MAX_SOURCES_START) -DMAX_SOURCES_HIGH=$(MAX_SOURCES_HIGH) LOCAL_CFLAGS += -DPOST_FROYO include $(BUILD_STATIC_LIBRARY) # PARTS/AUDIO/CONVERSION include $(CLEAR_VARS) LOCAL_MODULE := parts_audio_conversion LOCAL_SRC_FILES := c/parts/audio/conversion/src/samplerate.c LOCAL_SRC_FILES += c/parts/audio/conversion/src/src_linear.c LOCAL_SRC_FILES += c/parts/audio/conversion/src/src_sinc.c LOCAL_SRC_FILES += c/parts/audio/conversion/src/src_zoh.c #LOCAL_CFLAGS := #LOCAL_C_INCLUDES := include $(BUILD_STATIC_LIBRARY) #include $(PREBUILT_STATIC_LIBRARY) # PARTS/AUDIO/CONVERSION include $(CLEAR_VARS) LOCAL_MODULE := parts_audio_decode_mp3 LOCAL_SRC_FILES := c/parts/audio/decode/mp3_mini/src/minimp3.c #LOCAL_CFLAGS := #LOCAL_C_INCLUDES := include $(BUILD_STATIC_LIBRARY) #include $(PREBUILT_STATIC_LIBRARY) # PARTS/VIDEO/FONT/TTF include $(CLEAR_VARS) LOCAL_MODULE := parts_video_font_ttf LOCAL_SRC_FILES := c/parts/video/font/ttf/src/freetypeamalgam.c #LOCAL_CFLAGS := #LOCAL_C_INCLUDES := include $(BUILD_STATIC_LIBRARY) #include $(PREBUILT_STATIC_LIBRARY) ----------------------------------------------------------------------------------------------------------------- -# LOCAL_STATIC_LIBRARIES += parts_video_font_ttf LOCAL_STATIC_LIBRARIES += parts_audio_out LOCAL_STATIC_LIBRARIES += parts_audio_conversion LOCAL_STATIC_LIBRARIES += parts_audio_decode_mp3 (no other changes required)