Skip to content

brachior/Android-292

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Presentation

The purpose of this project is to experiment my research for my thesis.
My topic is : [the efficient implementation of dynamic languages in constrained environments] 1.

My studies are based on the [Java] 2 and the [JSR 292] 3.
I use Dalvik, the virtual machine of [Android] 4, to support my research.

You can download SDK releases and factory images for Nexus [here] 1

Dependencies

  • AOSP [package] 1
  • (new) android runtime: ['ART 292'] 11
  • virtual machine: ['Dalvik 292'] 6
  • core API: ['Libcore 292'] 7

Usage

To use this work, you need to compile with Javac 7 and run with the portable interpreter.

/!\ WARNING /!\
ART compiles but can not run yet !

Cloning

This project contains three sub-projects ([art] 11, [dalvik] 6 and [libcore] 7).
To get the whole project (including 'art', 'dalvik' and 'libcore'),
you can download our modified AOSP package from our [website] 1 and clone each project or use the script 'aosp.py':

python aosp.py

If no argument given, this script download the last version of our work.
To know the arguments list, type the command:

python aosp.py -h

Create SDK 292

When the project is compiled, you can create an Android SDK to create/compile/install/... your applications.
To do this, initialize the project and make the SDK [(google website)] 8:

lunch sdk-eng
make [-j<NCPU>] sdk

Create factory image

The 'aosp.py' can create a factory image for a Nexus device using the compiled source:

python aosp.py -i <device> [-v <version>] [-l]

Examples:

python aosp.py -l -i . # list all factory versions availables
python aosp.py -i manta # create the factory image for 'Nexus 10' with the last version
python aosp.py -i manta -v 4.4.3.292 # create the factory image for 'Nexus 10' with the version '4.4.3.292'

How to flash a Nexus ?

Download the [Google's binaries] 9 for your device,
extract them in the root of this project and then execute them.
Initialize the project for your device. For example, to initialize with a Nexus 10 :

lunch full_manta-eng

When the project is compiled, connect your device and flash it (with root rights or with [(linux rules)] 10).

fastboot -w flashall

Or you can use our [factory images] 1.

Some useful commands to compile and use Android:

  • To initialize :
export EXPERIMENTAL_USE_JAVA7=true
export USE_CCACHE=1
source build/envsetup.sh
lunch full-eng
  • To compile :
make [-j<NCPU>] [showcommands]
mmm <directory>
  • To run :
emulator
  • To use the portable interpreter (wrote in C)
adb shell stop
adb shell setprop dalvik.vm.execution-mode int:portable
adb shell start
  • To use Dalvik (ART doesn't work yet !)
adb shell setprop persist.sys.dalvik.vm.lib libdvm.so
  • To clean :
make clobber

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published