[12679] | 1 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Android.tex
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Android.tex (revision 0)
|
---|
| 4 | +++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Android.tex (revision 12633)
|
---|
| 5 | @@ -0,0 +1,138 @@
|
---|
| 6 | +%Preamble {{{
|
---|
| 7 | +%Packages
|
---|
| 8 | +\documentclass[9pt,notes=hide]{beamer}
|
---|
| 9 | +
|
---|
| 10 | +\definecolor{links}{HTML}{2A1B81}
|
---|
| 11 | +\hypersetup{colorlinks,linkcolor=,urlcolor=links}
|
---|
| 12 | +
|
---|
| 13 | +\usetheme[jpl,headstyle=institute,fnolabel=,sidebar=.15\paperwidth,footstyle=low,footsep={ $\cdot$ },TPomitframeno,conference=This is a test]{Pasadena}
|
---|
| 14 | +\useinnertheme{MLHacks} % ISSM bonuses (ghostframes for example)
|
---|
| 15 | +\usepackage[T1]{fontenc} % T1 encoding is better for foreign langages
|
---|
| 16 | +\usepackage{aeguill,aecompl} % Virtual fonts
|
---|
| 17 | +\usepackage{amsmath,amssymb} % Mathematical symbols (useful for equations)
|
---|
| 18 | +\usepackage{xcolor} % We can define new colors
|
---|
| 19 | +\usepackage{graphicx} % Include pictures
|
---|
| 20 | +\usepackage{times} % Use Times Font instead of default
|
---|
| 21 | +\graphicspath{ % directories where the pictures are located
|
---|
| 22 | +{Images/Results/}
|
---|
| 23 | +}
|
---|
| 24 | +
|
---|
| 25 | +\setbeamercovered{transparent} %invisible, transparent, dynamic, highly dynamic
|
---|
| 26 | +
|
---|
| 27 | +%%Automatically insert outline slide at the begining of each new section (very nice!)
|
---|
| 28 | +%\AtBeginSection[]{
|
---|
| 29 | +%\begin{frame}<beamer>
|
---|
| 30 | +% \frametitle{Outline} % title of the slide
|
---|
| 31 | +% \tableofcontents[currentsection]
|
---|
| 32 | +% \ghostframe %do not count slide
|
---|
| 33 | +%\end{frame}
|
---|
| 34 | +%}
|
---|
| 35 | +%}}}
|
---|
| 36 | +%Presentation properties{{{1
|
---|
| 37 | +%between brackets []: shown on headers and footers of every slide (short)
|
---|
| 38 | +%between parenthesis (): shown on title page only (long)
|
---|
| 39 | +\title[ISSM on Android]{Ice Sheet System Model on the Android Platform}
|
---|
| 40 | +\author[G.Perez]{Gilberto \textsc{Perez}\inst{1}}
|
---|
| 41 | +\institute[JPL]{
|
---|
| 42 | +\inst{1}California State Polytechnic University, Pomona\\
|
---|
| 43 | +}
|
---|
| 44 | +\conference[conference shouldnt be required]{Not sure why this is needed...}
|
---|
| 45 | +\date[\today]{June 2010 \hspace{3em}\copyright Copyright 2011. All rights reserved}
|
---|
| 46 | +\logo{\includegraphics[width=8em]{ISSMlogo}}
|
---|
| 47 | +%}}}
|
---|
| 48 | +
|
---|
| 49 | +\begin{document}
|
---|
| 50 | +
|
---|
| 51 | +%Title slide {{{
|
---|
| 52 | +\begin{frame}[plain] %No headers or footers
|
---|
| 53 | + \titlepage
|
---|
| 54 | +\end{frame}%}}}
|
---|
| 55 | +%Outline {{{
|
---|
| 56 | +\begin{frame}
|
---|
| 57 | + \frametitle{Outline}
|
---|
| 58 | + \tableofcontents
|
---|
| 59 | +\end{frame}%}}}
|
---|
| 60 | +
|
---|
| 61 | +\section[Motivation]{Why Port ISSM to Android?}
|
---|
| 62 | +\begin{frame}%{{{
|
---|
| 63 | + \frametitle{intro}
|
---|
| 64 | + The ISSM Android project is an attempt at outreach by the scientific community by producing a readily distributable application that the layman can use to hold tangible evidence of climate change.
|
---|
| 65 | +\end{frame}%}}}
|
---|
| 66 | +\subsection{Why Android Specifically?}
|
---|
| 67 | +\begin{frame}%{{{
|
---|
| 68 | + \frametitle{Why Android?}
|
---|
| 69 | + The reasons Android was selected as our target platform are as follows:
|
---|
| 70 | + \begin{itemize}
|
---|
| 71 | + \item<2-2> Android is a GNU/Linux based open source platform
|
---|
| 72 | + \item<3-3> ISSM was developed with portability to Unix-like operating systems
|
---|
| 73 | + \item<4-4> Android holds the largest market share in the smart phone market.
|
---|
| 74 | + \end{itemize}
|
---|
| 75 | +\end{frame}%}}}
|
---|
| 76 | +\section[SDK]{About the Android SDK}
|
---|
| 77 | +\begin{frame}
|
---|
| 78 | + \frametitle{Android SDK}
|
---|
| 79 | + The Android Software Development Kit(SDK) is a set of tools for developing applications for the Android platform. While a the Java Software Development Kit is still required, one need never make calls to Java SDK programs as the tools provided by the Android SDK and the Apache Ant build tools.
|
---|
| 80 | + \\[12pt]
|
---|
| 81 | + For more information on the Android SDK and the Apache Ant Project see the following links:
|
---|
| 82 | + \begin{itemize}
|
---|
| 83 | + \item \href{http://ant.apache.org/}{Apache Ant Project}
|
---|
| 84 | + \item \href{http://ant.apache.org/}{Android SDK}
|
---|
| 85 | + \end{itemize}
|
---|
| 86 | + \includegraphics[width=4em]{android-hub}
|
---|
| 87 | +\end{frame}
|
---|
| 88 | +\subsection{Why the use SDK?}
|
---|
| 89 | +\begin{frame}
|
---|
| 90 | + \frametitle{Why use the Android SDK?}
|
---|
| 91 | + Although developing for Android is typically done in the Java programming language, one cannot simply use Java SDK to produce an Android app for the following reasons:
|
---|
| 92 | + \begin{itemize}
|
---|
| 93 | + \item<2-3> Android apps do not run on an implementation of the Java Virtual Machine. Instead, they run the Dalvik Virtual Machine.
|
---|
| 94 | + \begin{itemize}
|
---|
| 95 | + \item<3-> Different byte code and API
|
---|
| 96 | + \end{itemize}
|
---|
| 97 | + \item<4-7> Applications are distributed as APK files which are zipped, signed and aligned packages that include
|
---|
| 98 | + \begin{itemize}
|
---|
| 99 | + \item<5-5> Application binaries
|
---|
| 100 | + \item<6-6> Resources like images, text, etc.
|
---|
| 101 | + \item<7-7> AndroidManifest.xml
|
---|
| 102 | + \end{itemize}
|
---|
| 103 | + \end{itemize}
|
---|
| 104 | + \includegraphics[width=\linewidth]{build-simplified}
|
---|
| 105 | +\end{frame}
|
---|
| 106 | +\subsection[Tools]{Important Tools}
|
---|
| 107 | +\begin{frame}
|
---|
| 108 | + \frametitle{Important Tools}
|
---|
| 109 | + There are many useful tools provided in the Android SDK, those we are using are:
|
---|
| 110 | + \begin{itemize}
|
---|
| 111 | + \item<2-> \href{http://developer.android.com/tools/help/android.html}{android}: is arguably the most useful tool. It allows you to:
|
---|
| 112 | + \begin{itemize}
|
---|
| 113 | + \item Create, delete and view Android Virtual Devices (AVDs)
|
---|
| 114 | + \item Create and update Android projects
|
---|
| 115 | + \item Update Android SDK with new platforms, add-ons and documentation
|
---|
| 116 | + \end{itemize}
|
---|
| 117 | + \item<3-> \href{http://developer.android.com/tools/help/emulator.html}{emulator}: is a generic Android device emulator which can emulate any existing device specification.
|
---|
| 118 | + \item<4-> \href{ttp://developer.android.com/tools/help/adb.html}{adb}: The Android Debug Bridge allows you to communicate with an emulated device by piping shell commands, granting a terminal, and pushing/pulling files from the file system.
|
---|
| 119 | + \end{itemize}
|
---|
| 120 | +\end{frame}
|
---|
| 121 | +\section[NDK]{Android Native Development Kit}
|
---|
| 122 | +\begin{frame}
|
---|
| 123 | +\frametitle{Native Development Kit}
|
---|
| 124 | + Since ISSM is written in C/C++, we must be able to compile it for an Android device running on an ARM processor. Furthermore, we must be able to run ISSM from the context of an Android application. \href{http://developer.android.com/tools/sdk/ndk/index.html}{The Android Native Development Kit (NDK)} provides tools to this end.
|
---|
| 125 | +\end{frame}
|
---|
| 126 | +\subsection[Standalone Toolchain]{Android Native CPU ABI Management}
|
---|
| 127 | +\begin{frame}
|
---|
| 128 | + Although the NDK provides tools, as well as useful examples, to compile and package native libraries along with a typical Android application, it is best used for our purposes to provide a full compliment of compilers, linkers, archivers, etc.
|
---|
| 129 | + \begin{itemize}
|
---|
| 130 | + \item make-stand-toolchain.sh: will create wrappers around the GNU GCC that are tailored to a specific Android API and Application Binary Interface(ABI)
|
---|
| 131 | + \begin{itemize}
|
---|
| 132 | + \item \href{http://www.sco.com/developers/devspecs/gabi41.pdf}{ELF System V Application Binary Interface}
|
---|
| 133 | + \end{itemize}
|
---|
| 134 | + \end{itemize}
|
---|
| 135 | +\end{frame}
|
---|
| 136 | +
|
---|
| 137 | +\section{Compiling ISSM}
|
---|
| 138 | +\subsection{External Packages}
|
---|
| 139 | +\subsection{Configuration}
|
---|
| 140 | +
|
---|
| 141 | +\section{Java Native Interface}
|
---|
| 142 | +
|
---|
| 143 | +\end{document}
|
---|
| 144 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/ISSMlogo.pdf
|
---|
| 145 | ===================================================================
|
---|
| 146 | Cannot display: file marked as a binary type.
|
---|
| 147 | svn:mime-type = application/octet-stream
|
---|
| 148 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/ISSMlogo.pdf
|
---|
| 149 | ===================================================================
|
---|
| 150 | --- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/ISSMlogo.pdf (revision 12632)
|
---|
| 151 | +++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/ISSMlogo.pdf (revision 12633)
|
---|
| 152 |
|
---|
| 153 | Property changes on: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/ISSMlogo.pdf
|
---|
| 154 | ___________________________________________________________________
|
---|
| 155 | Added: svn:mime-type
|
---|
| 156 | ## -0,0 +1 ##
|
---|
| 157 | +application/octet-stream
|
---|
| 158 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/build-simplified.png
|
---|
| 159 | ===================================================================
|
---|
| 160 | Cannot display: file marked as a binary type.
|
---|
| 161 | svn:mime-type = application/octet-stream
|
---|
| 162 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/build-simplified.png
|
---|
| 163 | ===================================================================
|
---|
| 164 | --- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/build-simplified.png (revision 12632)
|
---|
| 165 | +++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/build-simplified.png (revision 12633)
|
---|
| 166 |
|
---|
| 167 | Property changes on: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/build-simplified.png
|
---|
| 168 | ___________________________________________________________________
|
---|
| 169 | Added: svn:mime-type
|
---|
| 170 | ## -0,0 +1 ##
|
---|
| 171 | +application/octet-stream
|
---|
| 172 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/android-hub.jpg
|
---|
| 173 | ===================================================================
|
---|
| 174 | Cannot display: file marked as a binary type.
|
---|
| 175 | svn:mime-type = application/octet-stream
|
---|
| 176 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/android-hub.jpg
|
---|
| 177 | ===================================================================
|
---|
| 178 | --- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/android-hub.jpg (revision 12632)
|
---|
| 179 | +++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/android-hub.jpg (revision 12633)
|
---|
| 180 |
|
---|
| 181 | Property changes on: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/android-hub.jpg
|
---|
| 182 | ___________________________________________________________________
|
---|
| 183 | Added: svn:mime-type
|
---|
| 184 | ## -0,0 +1 ##
|
---|
| 185 | +application/octet-stream
|
---|
| 186 | Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Makefile
|
---|
| 187 | ===================================================================
|
---|
| 188 | --- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Makefile (revision 0)
|
---|
| 189 | +++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Makefile (revision 12633)
|
---|
| 190 | @@ -0,0 +1,27 @@
|
---|
| 191 | +#Makefile for beamer
|
---|
| 192 | +
|
---|
| 193 | +#if nothing specified, make pdf
|
---|
| 194 | +all: one
|
---|
| 195 | +
|
---|
| 196 | +#document name (no extension)
|
---|
| 197 | +TARGET=Android
|
---|
| 198 | +export TEXINPUTS=~/issm-jpl/issm/publications/Templates/beamer/Theme/Pasadena//:
|
---|
| 199 | +
|
---|
| 200 | +#compile only once and open
|
---|
| 201 | +one:
|
---|
| 202 | +
|
---|
| 203 | + pdflatex -halt-on-error $(TARGET).tex
|
---|
| 204 | + open $(TARGET).pdf
|
---|
| 205 | +
|
---|
| 206 | +#compile three times and open
|
---|
| 207 | +complete:
|
---|
| 208 | +
|
---|
| 209 | + #compile three times fpr the structure
|
---|
| 210 | + #first two times draftmode to go faster (no image inclusion -> faster)
|
---|
| 211 | + pdflatex -halt-on-error -draftmode $(TARGET).tex
|
---|
| 212 | + pdflatex -halt-on-error -draftmode $(TARGET).tex
|
---|
| 213 | + pdflatex -halt-on-error $(TARGET).tex
|
---|
| 214 | + open $(TARGET).pdf
|
---|
| 215 | +
|
---|
| 216 | +clean:
|
---|
| 217 | + rm -f ${TARGET}.{dvi,ps,pdf,toc,log,aux,out,nav,snm}
|
---|
| 218 |
|
---|
| 219 | Property changes on: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/android/doc/Makefile
|
---|
| 220 | ___________________________________________________________________
|
---|
| 221 | Added: svn:executable
|
---|
| 222 | ## -0,0 +1 ##
|
---|
| 223 | +*
|
---|