Droidcon India 2014

Droidcon India’s fourth edition

Kick-start your 64bit Android build engines

Submitted by Amit Pundir (@pundiramit) on Wednesday, 22 October 2014

videocam_off

Technical level

Intermediate

Section

Hardware – crisp talks

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +7

Objective

Objective of this short talk is to get AOSP system/ROM builders and developers started with 64bit Android builds.

Description

Android 64bit devices running AOSP/Lollipop will support both 64bit and 32bit runtime environment (called multilib in AOSP world). For multilib, AOSP introduced a new set of build variables which developers should be aware of, if they are building applications for 64bit Android devices. This quick talk will be based on these new build variables.

Here is a rough sketch of the talk:

1) Introducing multilib:
What is a Primary and Secondary Zygote? Significance of “ro.zygote”, /system/lib and /system/lib64 etc

2) How to do a multilib build?
Device config changes for Primary and Secondary ARCH:

  • Set Primary and/or Secondary ARCHs TARGET_ARCH, TARGET_USES_64_BIT_BINDER etc
  • Set toolchains TARGET_TOOLS_PREFIX, 32/64bit application support TARGET_SUPPORTS_*_BIT_APPS
  • and other such variables

Android.mk changes:

  • multilib build variables to build module for Primary, Secondary, both ARCHs or preffered ARCH
  • Set supported ARCHs to arm, arm64, x86 by setting LOCAL_MODULE_TARGET_ARCH
  • Sharing /system/bin for both 64bit and 32bit apps using LOCAL_MODULE_STEM_*
  • and other such useful variables

3) Working multilib examples from AOSP using above variables.

Speaker bio

I work as an Android Enginner at Linaro http://www.linaro.org/. I have a fair bit of AOSP platform development experience on 64bit ARM development board Juno http://www.arm.com/juno/

Comments

  • 1
    Shree Kumar (@shreekumar) 4 years ago

    Looks interesting to me. Can you put up a rough outline of this talk ?

  • 1
    Amit Pundir (@pundiramit) Proposer 4 years ago (edited 4 years ago)

    Target audience for this talk are system/platform developers and ROM builders, who are looking forward to play with 64bit Android devices.

    Considering it is a 15min talk, I’ll try to cover following items:

    • quick overview of multilib builds (64bit + 32bit runtime environment), primary and secondary zygotes etc etc

    • quick overview of device configs and Android.mk changes for multilib builds

    • example(s) from AOSP

  • 1
    Amit Pundir (@pundiramit) Proposer 4 years ago

    Here is another rough sketch of the talk:

    1) Introducing multilib:
    What is a Primary and Secondary Zygote? Significance of “ro.zygote”, /system/lib and /system/lib64 etc

    2) How to do a multilib build?

    Device config changes for Primary and Secondary ARCH:

    • Set Primary and/or Secondary ARCHs TARGET_ARCH, TARGET_USES_64_BIT_BINDER etc
    • Set toolchains TARGET_TOOLS_PREFIX, 32/64bit application support TARGET_SUPPORTS_*_BIT_APPS
    • and other such variables

    Android.mk changes:

    • multilib build variables to build module for Primary, Secondary, both ARCHs or preffered ARCH
    • Set supported ARCHs to arm, arm64, x86 by setting LOCAL_MODULE_TARGET_ARCH
    • Sharing /system/bin for both 64bit and 32bit apps using LOCAL_MODULE_STEM_* - and other such useful variables

    3) Working multilib examples from AOSP using above variables.

  • 1
    岩 刘 (@crazyrogue) 3 years ago (edited 3 years ago)

    Can you organize the talk into a document and sent it to me? I really want to know about this aspect, thank you very much!
    My Email:liuyanzhangrong@gmail.com
    Thank you so much!

Login with Twitter or Google to leave a comment