我试图将我的应用程序构建为AOSP的一部分,并意识到Android.mk
文件不采用AndroidManifest.xml
的路径作为输入。mm
命令如何仅使用java文件和资源构建应用程序?
Android make从哪里获取AndroidManifest.xml
中包含的信息?
注:
目前,我的应用程序正在使用mm
构建,但大小较小(1MB vs 5MB),并且在安装adb后不会显示在设备上。也许这个能解决问题
我的Android.mk
文件供任何参考
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_ANDROID_LIBRARIES += \
android-arch-lifecycle-extensions \
android-support-v7-recyclerview \
android-support-v7-appcompat \
android-support-constraint-layout \
# Build all java files in the java subdirectory
#LOCAL_SRC_FILES := $(call all-subdir-java-files)
#Commented line just made a ~17kB apk file
LOCAL_SRC_FILES := $(call all-java-files-under, app/src/main/java)
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/app/src/main/res
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_SDK_VERSION := current
#Otherwise build failing
# Tell it to build an APK
include $(BUILD_PACKAGE)
1条答案
按热度按时间m1m5dgzv1#
Android.mk
for an apk requiresAndroidManifest.xml
. NDK二进制文件的Android.mk
不需要AndroidManifest.xml
。如果
AndroidManifest.xml
与Android.mk
位于同一路径,则Android make会自动获取AndroidManifest.xml
中包含的信息。我通过将
Android.mk
与AndroidManifest.xml
放在同一个目录中并在构建的apk中反映清单来验证这一点。有关更多详细信息,请访问APK built using Android.mk mm command not running in device after install。