summaryrefslogtreecommitdiff
path: root/android-tools/java.txt
blob: 7b8ef03543ab2baab7a753df6b82d43f7c530bce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
zygote:
frameworks/base/core/jni/AndroidRuntime.cpp
frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk

art:
art/runtime/gc/heap.cc
art/runtime/runtime.cc
art/runtime/runtime_options.def


from UsingPerfOnAndroid
https://wiki.linaro.org/LMG/Engineering/UsingPerfOnAndroid
= Run Java on Android

== SAMPLE SOURCE Main.java
    public class Main {
        public static void main(String[] args) {
            long startTime = System.nanoTime();
            System.out.println(sum(1000*1000*1000));
            System.out.println((System.nanoTime() - startTime) / 1000 / 1000);
        }

        static long sum(long count) {
            long res = 0;
            for (long i = 0; i <= count; ++i) {
                res += i;
            }
            return res;
        }
    }
== COMPILE JAVA SOURCE TO CLASS FILE
    javac -g src/Main.java -d class
== COMPILE CLASS FILE TO DEX FILE
    dx --dex --debug --output=out/Main.jar class
== PUSH TO TARGET
    adb push out/Main.jar /data/local/tmp/Main.jar
== RUN THE DEX FILE
Additional compiler option "-Xcompiler-option -g" is used to tell dex2oat to generate oat files with debug information which can be used by perf.
    adb shell dalvikvm32 -Xcompiler-option -g -cp /data/local/tmp/Main.jar Main
    adb shell dalvikvm64 -Xcompiler-option -g -cp /data/local/tmp/Main.jar Main