OLD | NEW |
1 Android | 1 Android |
2 ======= | 2 ======= |
3 | 3 |
4 Prerequisites | 4 Prerequisites |
5 ------------- | 5 ------------- |
6 | 6 |
7 _Currently we only support building Skia for Android on a Linux or Mac host! In
addition, | 7 _Currently we only support building Skia for Android on a Linux or Mac host! In
addition, |
8 we only use the Mac build for local development. All shipping variants are comp
iled on | 8 we only use the Mac build for local development. All shipping variants are comp
iled on |
9 Linux for performance reasons._ | 9 Linux for performance reasons._ |
10 | 10 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 ./platform_tools/android/bin/android_ninja -d nexus_10 # or nexus_7, galaxy_
nexus, etc... | 66 ./platform_tools/android/bin/android_ninja -d nexus_10 # or nexus_7, galaxy_
nexus, etc... |
67 | 67 |
68 The -d option enables the build system to target the build to a specific | 68 The -d option enables the build system to target the build to a specific |
69 architecture such as MIPS (generic), x86 (generic) and ARM (generic and device | 69 architecture such as MIPS (generic), x86 (generic) and ARM (generic and device |
70 specific flavors for Nexus devices). This in turn allows Skia to take | 70 specific flavors for Nexus devices). This in turn allows Skia to take |
71 advantage of specific device optimizations (e.g. NEON instructions). | 71 advantage of specific device optimizations (e.g. NEON instructions). |
72 | 72 |
73 Generate build file from GYP | 73 Generate build file from GYP |
74 ---------------------------- | 74 ---------------------------- |
75 | 75 |
76 We use the open-source gyp tool to generate build files from our multiplatform | 76 We use the open-source gyp tool to generate build files from our |
77 "gyp" files. While most other platforms enable you to regenerate these files | 77 multi-platform "gyp" files. While most other platforms enable you to |
78 using `./gyp_skia` it is recommend that you do NOT do this for Android. Instead | 78 regenerate these files using `./gyp_skia` or `bin/sync-and-gyp` it is |
79 you can rely on it being run automatically by android_ninja. | 79 recommended that you do NOT do this for Android. Instead you can rely |
| 80 on it being run automatically by android_ninja. |
80 | 81 |
81 Faster rebuilds | 82 Faster rebuilds |
82 --------------- | 83 --------------- |
83 | 84 |
84 You can use ccache to improve the speed of rebuilding: | 85 You can use ccache to improve the speed of rebuilding: |
85 | 86 |
86 # You may want to add this export to your shell's .bash_profile or .profile | 87 # You may want to add this export to your shell's .bash_profile or .profile |
87 export ANDROID_MAKE_CCACHE=[ccache] | 88 export ANDROID_MAKE_CCACHE=[ccache] |
88 | 89 |
89 Build and run executables on the device | 90 Build and run executables on the device |
90 --------------------------------------- | 91 --------------------------------------- |
91 | 92 |
92 The build system packages the Skia executables as shared libraries. As such, | 93 The build system packages the Skia executables as shared libraries. As such, |
93 in order to run any executable on the device you must install the library and | 94 in order to run any executable on the device you must install the library and |
94 a launcher executable on your device. To assist in this process there is a | 95 a launcher executable on your device. To assist in this process there is a |
95 script called `android_run_skia` that is located in the | 96 script called `android_run_skia` that is located in the |
96 `platform_tools/android/bin` directory. | 97 `platform_tools/android/bin` directory. |
97 | 98 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 | 135 |
135 BUILDTYPE=Debug ./platform_tools/android/bin/android_ninja -d $TARGET_DEVICE
SampleApp_APK | 136 BUILDTYPE=Debug ./platform_tools/android/bin/android_ninja -d $TARGET_DEVICE
SampleApp_APK |
136 | 137 |
137 Then, install the app onto the device: | 138 Then, install the app onto the device: |
138 | 139 |
139 ./platform_tools/android/bin/android_install_app | 140 ./platform_tools/android/bin/android_install_app |
140 | 141 |
141 Finally to run the application you can either navigate to the Skia Samples | 142 Finally to run the application you can either navigate to the Skia Samples |
142 application using the application launcher on your device or from the command | 143 application using the application launcher on your device or from the command |
143 line. The command line option allows you to pass additional details to the | 144 line. The command line option allows you to pass additional details to the |
144 application (similiar to other operating system) that specify where to find | 145 application (similar to other operating system) that specify where to find |
145 skp files and other resources. | 146 skp files and other resources. |
146 | 147 |
147 ./platform_tools/android/bin/android_launch_app --resourcePath /data/local/t
mp/resources | 148 ./platform_tools/android/bin/android_launch_app --resourcePath /data/local/t
mp/resources |
148 | 149 |
149 By default if no additional parameters are specified the app will use the defaul
t | 150 By default if no additional parameters are specified the app will use the defaul
t |
150 params... | 151 parameters... |
151 | 152 |
152 --resourcePath /data/local/tmp/skia_resoures | 153 --resourcePath /data/local/tmp/skia_resoures |
153 --pictureDir /data/local/tmp/skia_skp | 154 --pictureDir /data/local/tmp/skia_skp |
154 | 155 |
155 | 156 |
156 Android Studio Support | 157 Android Studio Support |
157 ----------------------- | 158 ----------------------- |
158 | 159 |
159 You can also build and run SampleApp (and some other experimental apps) using An
droid | 160 You can also build and run SampleApp (and some other experimental apps) using An
droid |
160 Studio. To create the project either select "import project" from the quickstar
t | 161 Studio. To create the project either select "import project" from the quickstar
t |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 # COMMAND LINE APPS | 198 # COMMAND LINE APPS |
198 # include additional arguments in quotes (e.g. "dm --nopdf") | 199 # include additional arguments in quotes (e.g. "dm --nopdf") |
199 ./platform_tools/android/bin/android_gdb_native dm | 200 ./platform_tools/android/bin/android_gdb_native dm |
200 | 201 |
201 # SAMPLE APP | 202 # SAMPLE APP |
202 # make sure you've installed the app on the device first | 203 # make sure you've installed the app on the device first |
203 ./platform_tools/android/bin/android_gdb_app | 204 ./platform_tools/android/bin/android_gdb_app |
204 | 205 |
205 When the gdb client is ready, insert a breakpoint, and continue to let the | 206 When the gdb client is ready, insert a breakpoint, and continue to let the |
206 program resume execution. | 207 program resume execution. |
207 | |
OLD | NEW |