I see a lot of topics of how to build Vuforia projects and Smaple apps in Eclipse and Android Studio, but nothing about building them in with the Android ROM Source code. I build my own ROM, and have been doing so for some time now. I imported the vuforia_sdk and samples under that in the samples folder, but only 2 of the samples have Android.mk files (NEEDED TO BUILD), Dominoes and ImageTargetsNative. They both have an Android.mk file and Application.mk file so the build attempts to compile them since they have an Android.mk file. But, the first error I get early on is:
make: *** No rule to make target `/home/sudosurootdev/android/source/VanirAOSP/out/target/product/ls980/obj/SHARED_LIBRARIES/Vuforia-prebuilt_intermediates/export_includes', needed by `/home/sudosurootdev/android/source/VanirAOSP/out/target/product/ls980/obj/SHARED_LIBRARIES/Dominoes_intermediates/import_includes'. Stop.
So, I made the directory:
out/target/product/ls980/obj/SHARED_LIBRARIES/Vuforia-prebuilt_intermediates
and touched the file:
out/target/product/ls980/obj/SHARED_LIBRARIES/Vuforia-prebuilt_intermediates/export_includes
and continued the build. Next, a while later, I got an error similar to this ( I already cleared my terminal and don't see it in my logs so I'm paraphrasing):
make: *** No file `Vuforia-prebuilt.so` needed by `Dominoes.so`
I see that the Android.mk file has the following:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := Vuforia-prebuilt LOCAL_SRC_FILES = ../../../build/lib/$(TARGET_ARCH_ABI)/libVuforia.so LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../build/include include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := Dominoes OPENGLES_LIB := -lGLESv2 OPENGLES_DEF := -DUSE_OPENGL_ES_2_0 LOCAL_CFLAGS := -Wno-write-strings -Wno-psabi $(OPENGLES_DEF) LOCAL_LDLIBS := \ -llog $(OPENGLES_LIB) LOCAL_SHARED_LIBRARIES := Vuforia-prebuilt LOCAL_SRC_FILES := \ Dominoes.cpp QCARBase.cpp SampleUtils.cpp SampleMath.cpp Texture.cpp LOCAL_ARM_MODE := arm include $(BUILD_SHARED_LIBRARY)
...which defines
LOCAL_MODULE := Vuforia-prebuilt
and the source and C includes then PREBUILT_SHARED_LIBRARY and CLEAR_VARS to start defining
LOCAL_MODULE := Dominoes
plus it's flags and includes. Then module Dominoes uses
LOCAL_SHARED_LIBRARIES := Vuforia-prebuilt
I see everything and it looks like it is defined correctly. I've checked out placement of all the files it calls, so why I am getting these build errors? Also why are there no Android.mk files for the other Sample Apps?
Thank you. I am new to actually building apps. I have been compiling, building, and working on the full ROM source, maintaining device repos and kernel source, but I have never built an app with Eclipse or Android Studio. I only include them in my builds. Usually you just include an Android.mk file at the top where the AndroidManifest.xml file is located to define the modules and then add the project to your device makefiles:
PRODUCT_PACKAGES += \ Dominoes \ ImageTargetsNative