You are on page 1of 4

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
-#<QB64_PARTS_DECLARE>
#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
-#<QB64_PARTS_BUILD>

-----------------------------------------------------------------------------------
------------------------------
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)
-----------------------------------------------------------------------------------
------------------------------

-#<QB64_PARTS_REFERENCE>
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)