Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Working with AOSP- Droidcon NY 2022

Effie Barak
September 02, 2022
190

Working with AOSP- Droidcon NY 2022

Effie Barak

September 02, 2022
Tweet

Transcript

  1. W rk ng it A SP E e ar k

    (@C di gC ic )
  2. T lk ak - a ay : 4 A m

    e s , u t m e k - h a s u e g k g n t (i n A S !) 4 A e e t l m c a l c e - o e , repo a p "b o o " t i r o
  3. T lk ak - a ay : c nt. 4

    I 's l T - t r r b b a , e s t o a D n a . A g a c ! 4 W m , S d S E l U a G !
  4. • s .i . • b .i . • v

    .i . • o .i .
  5. S w at re om e am le o c

    an es? 1. S p (i n a u o !)- d l r o e 2. S I / f r - a r t A 3. C S a / a B 4. H h f r i r (e.g a o b a )
  6. A SP s od ... L ts nd ot o

    c de J n m C/ C++ A e K p / l e ! 1 (g !) r o 1 +G s c
  7. 2. A re ty tr ng ac in h ://w

    .a n.b /p /2 -a -b - m /
  8. <?xml version="1.0" encoding="UTF-8"?> <manifest> <remote name="aosp" fetch=".." review="https://android-review.googlesource.com/" /> <default

    revision="android12-qpr1-release" remote="aosp" sync-j="4" /> <superproject name="platform/superproject" remote="aosp"/> <contactinfo bugurl="go/repo-bug" /> <project path="build/make" name="platform/build" groups="pdk" > <copyfile src="core/root.mk" dest="Makefile" /> <linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" /> <project path="art" name="platform/art" groups="pdk" /> <project path="bionic" name="platform/bionic" groups="pdk" /> <project path="bootable/recovery" name="platform/bootable/recovery" groups="pdk" /> <project path="bootable/libbootloader" name="platform/bootable/libbootloader" groups="vts,pdk" /> <project path="compatibility/cdd" name="platform/compatibility/cdd" groups="pdk" /> ...
  9. B il s st m A dr id ak (A

    dr id.m ) S on (b ue ri t - A dr id.b )
  10. T ol r ca repo init <url> repo sync source

    build/envsetup.sh lunch <lunch menu option> make -j<cores>
  11. S h w o e o ha ? 1. E

    u (g ) p h S b 2. C e r i 3. S o p t h p m e (a h c c G ) 4. D l , o A S u w m h S i 5. P t!
  12. 1. E be o r (n rm l, g ad

    e ui t pp) a p n he OS b il
  13. H ld n m nu e, h w id e

    o hi ? 1. C A .b o u A 2. A a n a m t l u w r o (e.g G , G ) 3. B A !
  14. 1. E be o r (g ad e ui t

    pp) a p n he OS b il 2. C ea e n mu at r ma e
  15. 1. C a i l t h e r i

    2. E h i l t h d l n u c r 3. A p i m o A s a u l 4. C V t u i o A S !
  16. 1. C ea e z p l w th he

    mu at r ma es T c mp le he dk it a l he up or in t ol make sdk sdk-repo
  17. F r om r as n, t is ne s

    he ne ha w rk ? make emu_image_zip R : s -r -l -s -i -e .<y e n >.z
  18. 1. C ea e z p l w th he

    mu at r ma es 2. E tr ct he ip l i to he dk oc ti n n ou c mp te
  19. 1. C ea e z p l w th he

    mu at r ma es 2. E tr ct he ip l i to he dk oc ti n n ou c mp te 3. A d ro er ie x l or nd oi s ud o o ea y ur l
  20. p ck ge.x l <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:repository ...>

    <localPackage path="system-images;android-33;google_apis;x86_64" obsolete="false"> <type-details xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns12:sysImgDetailsType"> <api-level>33</api-level> <base-extension>true</base-extension> <tag> <id>google_apis</id> <display>Google APIs</display> </tag> <vendor> <id>lottie</id> <display>Lottie</display> </vendor> <abi>x86_64</abi> </type-details> <revision> <major>5</major> </revision> <display-name>Lottie System Image Upside-down Cake</display-name> ... </localPackage> </ns2:repository>
  21. 1. C a i l t h e r i

    2. E h i l t h d l n u c r ✅ 3. A p i m o A s a u l ✅ 4. C V t u i o A S ! ✅
  22. 1. E be o r (g ad e ui t

    pp) a p n he OS b il 2. C ea e n mu at r ma e
  23. 3. S gn ou pp it t e la fo

    m ey (a d he er i c te o G ad e) H i x .p k l t k k e h ://g .g .c /b l/ a 4 5 0 e
  24. 1. E be o r (g ad e ui t

    pp) a p n he OS b il 2. C ea e n mu at r ma e 3. S gn ou pp it t e la fo m ey (a d he er i c te o G ad e) 4. D pl y oc ll , f om nd oi S ud o n ur wn ac in t t e OS i ag
  25. !

  26. U er an le.j va /** @hide A user handle

    to indicate all users on the device */ @SystemApi public static final @NonNull UserHandle ALL = new UserHandle(USER_ALL);
  27. T e DK e om il a ai st oe

    n't no w c n cc ss t es A Is
  28. C ea in a us om DK it ou t

    e nn ta io s o om il a ai st. 1. U h c o h i d s (b a i p o s d t ) 2. S i m d e t h d i l g o m 3. C e e c r 4. C a l 5. M !
  29. 1. U in t e la se f om he

    nt rm di te ta e m d s -r ~/<a d >/o /t /c /o /J L E / f r i d /c -h .j
  30. 2. S me ip ag c o ep ac t

    em nt t e dk ip l w g t ro m ke cd out/host/linux-x86/sdk/sdk/ ~/<aosp dir>/out/host/linux-x86/sdk/sdk/android-sdk_eng.effie_linux-x86/platforms/android-12$ mkdir tmp_sdk unzip android.jar -d tmp_sdk unzip ~/<aosp dir>/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-header.jar -d tmp_sdk cd tmp_sdk/ jar cfMv ../android.jar .
  31. 4. C mp le ga ns l ca ly android

    { compileSdkPreview 'UpsideDownCake' ...