我正在努力学习如何在android源代码中编译一个应用程序。这个应用程序只是一个简单的hello world应用程序。我遵循Making an app in the Android Source compile into system/app instead of data/app?和其他几个来源的指示。但是,当我制作应用程序时,apk文件被写入带有后缀中介的obj/app,而不是system/app,并且在启动时无法在模拟器中显示。请在Android.mk文件下面找到。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE_PATH := system/app
LOCAL_UNINSTALLABLE_MODULE := true
LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := MyApplication
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-appcompat
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-gridlayout
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v13
LOCAL_STATIC_JAVA_LIBRARIES += android-support-design
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_RESOURCE_DIR += prebuilts/sdk/current/support/v7/appcompat/res
LOCAL_RESOURCE_DIR += prebuilts/sdk/current/support/v7/gridlayout/res
LOCAL_RESOURCE_DIR += prebuilts/sdk/current/support/design/res
LOCAL_CERTIFICATE := platform
LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat:android.support.v7.gridlayout
include $(BUILD_PACKAGE)
##################################################
include $(CLEAR_VARS)
include $(BUILD_MULTI_PREBUILT)
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))我通过进入包/应用程序中的应用程序目录并执行“mm”操作来创建应用程序。这里有我遗漏的东西吗?
发布于 2016-10-22 09:10:48
查找BoardConfig.mk并添加以下内容:
PRODUCT_PACKAGES += MyApplicationAOSP构建系统将构建每个Android.mk,但是只有在BoardConfig中定义的包才会被放入最终的产品路径。
发布于 2017-01-10 03:23:32
您必须从设备/“您的首选供应商”/“device_name”/aosp_“设备名称”.mk文件中将应用程序模块添加到.mk中
它应该如下所示
$(call inherit-product, device/lge/hammerhead/full_hammerhead.mk)
PRODUCT_NAME := aosp_hammerhead
PRODUCT_PACKAGES += \
Launcher3 \
MyApplication \发布于 2020-06-12 08:34:08
有点改变了。Aosp检查/device/"vendor"/"your_device"/"your_platform"/base.mk文件是否编译,以及/device/“your_device”/Common/base.mk用于将apk安装到/out/target/product/" your _device/system/ app /“,应该将应用程序名添加到两个文件中。在我的例子中,aosp/device/qcom/qssi/base.mk编译,aosp/device/qcom/公用/base.mk将输出(Apk)安装到/out/target/product/msm8953/system/app/
https://stackoverflow.com/questions/39905846
复制相似问题