missing files from android binaries

685 views
Skip to first unread message

Alan Loughlin

unread,
Dec 28, 2014, 6:10:22 PM12/28/14
to android-...@googlegroups.com
Hi,

I'm working through building lollipop aosp for my nexus 5 and have come across a problem that i'm unable to find the reason for:

qcom binaries are missing:
/system/app/TimeService.apk
/system/app/shutdownlistener.apk

lge binaries are missing:
system/etc/DxHDCP.cfg
system/vendor/firmware/discretix/dxhdcp2.b00
system/vendor/firmware/discretix/dxhdcp2.b01
system/vendor/firmware/discretix/dxhdcp2.b02
system/vendor/firmware/discretix/dxhdcp2.b03
system/vendor/firmware/discretix/dxhdcp2.mdt
system/vendor/lib/libDxHdcp.so
system/vendor/lib/libvdmengine.so
system/vendor/lib/libvdmfumo.so
system/app/OmaDmclient.apk


First and most importantly: Why are these missing from the binaries?

Second:, i've mounted the system image for the prebuilt version of lollipop (lrx22c) for nexus5 and copied these files like so:

cp /mnt/<MOUNTED IMAGE>/app/TimeService/TimeService.apk vendor/qcom/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/app/shutdownlistener/shutdownlistener.apk vendor/qcom/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/app/OmaDmclient/OmaDmclient.apk vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/etc/DxHDCP.cfg vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/firmware/discretix/dxhdcp2.b00 vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/firmware/discretix/dxhdcp2.b01 vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/firmware/discretix/dxhdcp2.b02 vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/firmware/discretix/dxhdcp2.b03 vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/firmware/discretix/dxhdcp2.mdt vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/lib/libDxHdcp.so vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/lib/libvdmengine.so vendor/lge/hammerhead/proprietary/
cp
/mnt/<MOUNTED IMAGE>/vendor/lib/libvdmfumo.so vendor/lge/hammerhead/proprietary/


for everything except apk files, so just lge files, i've added these lines to vendor/lge/hammerhead/device-partial.mk:

    vendor/lge/hammerhead/proprietary/DxHDCP.cfg:system/etc/DxHDCP.cfg:lge \
    vendor/lge/hammerhead/proprietary/dxhdcp2.b00:system/vendor/firmware/discretix/dxhdcp2.b00:lge \
    vendor/lge/hammerhead/proprietary/dxhdcp2.b01:system/vendor/firmware/discretix/dxhdcp2.b01:lge \
    vendor/lge/hammerhead/proprietary/dxhdcp2.b02:system/vendor/firmware/discretix/dxhdcp2.b02:lge \
    vendor/lge/hammerhead/proprietary/dxhdcp2.b03:system/vendor/firmware/discretix/dxhdcp2.b03:lge \
    vendor/lge/hammerhead/proprietary/dxhdcp2.mdt:system/vendor/firmware/discretix/dxhdcp2.mdt:lge \
    vendor/lge/hammerhead/proprietary/libDxHdcp.so:system/vendor/lib/libDxHdcp.so:lge \
    vendor/lge/hammerhead/proprietary/libvdmengine.so:system/vendor/lib/libvdmengine.so:lge \
    vendor/lge/hammerhead/proprietary/libvdmfumo.so:system/vendor/lib/libvdmfumo.so:lge \


So, what is the correct thing to do with the apk files in lollipops build setup?
In my ignorance, i tried putting them in device-partial.mk, like the above and on what i thought was correct, on their own "BUILD_PREBUILT :=" variable, both causing error.

For both things, would it be possible to advise and quell my curiosity and stupidity please?

Could the most voted answer here be my solution? http://stackoverflow.com/questions/10579827/add-apk-files-in-aosp

For completeness, other than the android source website, i've been referencing:

http://nosemaj.org/howto-build-android-kitkat-nexus-5
http://elvis.logdown.com/posts/162747/nexus-5-w-aosp



Thanks,

Alan

carlo

unread,
Jan 6, 2015, 1:55:45 PM1/6/15
to android-...@googlegroups.com
create a make file named Android.mk and add the package you want to be built (TimeService):

LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE),hammerhead)

include $(CLEAR_VARS)
LOCAL_MODULE := TimeService
LOCAL_MODULE_OWNER := lge
LOCAL_SRC_FILES := app/$(LOCAL_MODULE)/$(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
endif

then in your device-vendor.mk add the call for the packages
# Apps
PRODUCT_PACKAGES += \
    TimeService

this should let you start

Alan Loughlin

unread,
Jan 23, 2015, 6:12:00 AM1/23/15
to android-...@googlegroups.com
thank you, i'll give this a go.

would still be nice to know why bits are missing from the binaries.

Alan Loughlin

unread,
Mar 20, 2015, 3:34:02 PM3/20/15
to android-...@googlegroups.com
apologies to dig out an old post, but who will be the best placed to answer the question about why necessary files are missing from the binary packages and have to be extracted from the factory images?

In all the guides i've found on building aosp for nexus devices, it appears to be an accepted given that they miss them off the binary packages, but don't seem to offer any clues as to why?

Hod Greeley

unread,
Mar 27, 2015, 10:01:37 AM3/27/15
to android-...@googlegroups.com
Applications like youtube, gmail, maps, and the play store are all Google proprietary programs.  It's how Google maintains control over Android, to some extent.  To get branded as an Android compliant device, you have to pass the Google compatibility suite.  Only companies that submit platform code and CTS results to Google get access to the proprietary apps.  Some people work around this by extracting them from factory images instead.  I'm not sure that's legal, though.

If you're talking about device drivers, those are often proprietary too.  The base platform is open source, but that isn't all you need for a complete, functioning system.

Glenn Kasten

unread,
Mar 27, 2015, 10:06:05 AM3/27/15
to android-...@googlegroups.com
This thread is starting to veer off-topic for this list.
android-building is for discussion of building the AOSP upstream distribution
(without customization) for AOSP-supported build targets.
Reply all
Reply to author
Forward
0 new messages