I've been tearing my hair out about this for hours now; I'm sure it's something simple that I'm missing, but I simply cannot figure it out!
I have a system app which I usually build using mmm $PACKAGE_FOLDER. I have two other apps that work fine, but when I do this one I get a cascade of "package R does not exist" errors. After much digging, it appears that aapt is not run. As long as AndroidManifest.xml is present (even if the res directory is not) (and even if AndroidManifest.xml is any old garbage, not even XML), the build system attempts to build the source files and errors out when it finds the R.id etc. references.
Is there some Android.mk setting that stops aapt running as a side effect? I've tried commenting out various lines in there, but it always seems to fail with the same errors (unless I comment out the sources or something).
Here is my Android.mk:
LOCAL_PATH := $(call my-dir)
# Extra makefile include - nothing involving the android build system.
include $(LOCAL_PATH)/../../SomeExtraRules.imk
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := Pkg_name
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := some_source_files
LOCAL_AIDL_INCLUDES := some_aidl_files
LOCAL_PROGUARD_ENABLED := disabled
# Generally this project is built to provide an APK signed with platform keys
# which can be installed on a device by a user.
# This LOCAL_DEX_PREOPT tells the Android build system to
# keep the classes.dex inside the apk (instead of processing it into
# a .odex file).
LOCAL_DEX_PREOPT := false
include $(BUILD_PACKAGE)
EDIT: I've tried rebuilding before, but I'm trying again to make sure. EDIT: retried - it's still happening!