Tesco's Android Tablet


Reply for Hudl





We created a tablet


(for Tesco)




Hardware


Screen 7 inch (diagonal)

1440 x 900 HD resolution


1.5GHz A9 Quad-core processor

1GB RAM


Cameras, speakers, SD Slot, etc etc...

NO 3G




The Android OS


Drivers | Branding


Code Base


Android Open Source Project
Collection of multiple git repositories

Android Compatibility in 3 steps

Obtain the Android source code
Comply with the Compatibility Definition Document 
Pass the Compatibility Test Suite 


GET the Android GMS

Workflow


Be EQUIPPED

Ubuntu LTS (10.04). From Gingerbread 2.3.x a 64-bit is required


16GB of RAM


30GB disk space


Python 2.6 -- 2.7 e GNU Make 3.81


JDK 6 from Gingerbread onward. JDK 5 for all previous versions


Git 1.7+

Title


repo diff                   repo forall                   repo status                   repo download

Manifest file

Repository Descriptor

      Remote Configuration
<?xml version="1.0" encoding="UTF-8"?> 
   <manifest>
      <remote name="aosp" fetch="../repo" review="https://android-review.googlesource.com/" />
      
      <remote name="xxxx" fetch="." />
      
      <default revision="pharaoh_android4.2" remote="xxxxx" sync-j="4" /> ....
...


      Module Configuration
... 
<project path="device/xxxxx/xxxx" name="rk/device/xxxxx/Hudl_Tablet"> </project> 

<project path="hardware/alsa_sound" name="platform/hardware/alsa_sound"/> 

<project path="vendor" name="xx/vendor" /> 

<project path="packages/tesco_apps" name="platform/packages/tesco_apps" />
...

DOwnload & COmpile


    Download source code
 INIT: repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1
 SYNC: repo sync
 CREATE BRANCH: repo start master –all
    
    Compilation time
 DRIVER SCRIPT: https://developers.google.com/android/nexus/drivers#razorkot49h
 CLEAN: make clobber
 BUILD SETUP: . build/envsetup.sh
 LUNCH ENG MODE: lunch aosp_flo-eng
 MAKE: make -j16
 OUTPUT: $AOSP/out/target/product/flo/
    

INSTALL ON DEVICE


     Flashing
 BOOT IN FLASH MODE: Down + Power
 UNLOCK OEM:  fastboot oem unlock
 EXPORT ANDORID ENV VARIABLE: export ANDROID_PRODUCT_OUT={your images location}
 FLASH IMAGE: fastboot flashall -w # -w wipes the data


Advice & curiosity


Adoption of a Continuous Integration system
Adoption of a Continuous Inspection system
Unit Testing
UI Testing
Tagging
CyanogenMod - Cyanfox - AOKP ...
Sony release - AOSP for Xperia devices








Android is nothing without Google






Getting Google approval is tough


Get their attention

Show the final hardware

Get OK for the OS

Get OK for ANY update of the OS

The office dealing with it is in San Francisco

And they do mistakes as well... test the GMS!












Api               Over the Air Update





OTA - how to


Don't crush your town network
Incremental deliveries
Protect yourself from people fishing for the update
Bet on people NOT updating





Learnings


The Android code base is huge - take your time

The build cycle makes you feel in the '90s - take your time

Test the rest of the planet - not only your apps







that was fun.




Mobilise - Reply for Hudl

By Fabio Bertone

Mobilise - Reply for Hudl

  • 1,009