我已经为此扯了几个小时了;我确定我错过了一些简单的东西,但我根本无法弄清楚!
我有一个系统应用程序,我通常使用 mmm $PACKAGE_FOLDER 构建。我还有另外两个运行良好的应用程序,但是当我执行此应用程序时,我会收到一连串"包R不存在"错误。经过多次挖掘,aapt 似乎没有运行。只要 AndroidManifest.xml 存在(即使 res 目录不存在((即使 AndroidManifest.xml 是任何旧垃圾,甚至不是 XML(,构建系统会尝试构建源文件,并在找到 R.id 等引用时出错。
是否有一些 Android.mk 设置会停止aapt运行作为副作用?我尝试注释掉其中的各种行,但它似乎总是因相同的错误而失败(除非我注释掉源或其他内容(。
这是我 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)
编辑:我以前尝试过重建,但我再次尝试确保。编辑:重试 - 它仍在发生!
好的,我仍然不确定出了什么问题,但它现在似乎可以工作了。 :S
如果收到此错误,请清理/关闭所有内容,然后在最后一个工作配置中重试。
这可能与符号链接有关,因为最初我是从带有 res 和 AndroidManifest 的树外目录构建的.xml符号链接(长话短说!当从非符号链接的项目目录构建时,它可以工作。即使没有先清洁!