1+ #! /bin/bash
2+
3+ # This script downloads the GVR SDK, explodes the AAR files, and creates zip packages than
4+ # can be used by the mode to generate the required libraries to build a cardboard sketch.
5+ # The steps in the AAR to ZIP conversion were based on this blogpost:
6+ # https://commonsware.com/blog/2014/07/03/consuming-aars-eclipse.html
7+
8+ # Usage:
9+ # call with the version number of the GVR SDK package to download and extract, i.e.:
10+ # ./gvrsdk-update.sh 1.0.1
11+
12+ ver=$1
13+ sdk=v$1
14+
15+ mkdir ../libraries/cardboard/gvrsdk/$ver
16+
17+ wget https://github.com/googlevr/gvr-android-sdk/archive/$sdk .zip
18+
19+ unzip $sdk .zip
20+
21+ # Explode the aars and create the corresponding zip packages to use in the mode
22+ unzip gvr-android-sdk-$ver /libraries/base/base.aar -d base.aar
23+ unzip gvr-android-sdk-$ver /libraries/common/common.aar -d common.aar
24+ unzip gvr-android-sdk-$ver /libraries/audio/audio.aar -d audio.aar
25+
26+ # ###############################################
27+ # Base package
28+ mkdir base
29+
30+ # Start by copying manifest and resources
31+ cp base.aar/AndroidManifest.xml base
32+ cp -R base.aar/res/ base/res
33+
34+ # Extract classes from library's jar
35+ unzip base.aar/classes.jar -d base.aar/classes
36+ mkdir base/libs
37+ mkdir base/libs/base
38+ # Copy classes
39+ cp -R base.aar/classes/com base/libs/base/com
40+ # Copy native libs
41+ cp -R base.aar/jni base/libs/base/lib
42+ # Create the jar file
43+ jar cf base.jar -C base/libs/base .
44+
45+ # Remove original folder and put jar file in its final location
46+ rm -Rf base/libs/base
47+ mv base.jar base/libs
48+
49+ # Need the jar also in cardboard's lib folder
50+ cp base/libs/base.jar ../libraries/cardboard/lib
51+
52+ # Finally, create zip file and mode to the sdk location
53+ zip -r base.zip base
54+ mv base.zip ../libraries/cardboard/gvrsdk/$ver
55+
56+
57+ # ###############################################
58+ # Common package
59+ mkdir common
60+
61+ # Start by copying manifest and resources
62+ cp common.aar/AndroidManifest.xml common
63+ cp -R common.aar/res/ common/res
64+
65+ # Extract classes from library's jar
66+ unzip common.aar/classes.jar -d common.aar/classes
67+ mkdir common/libs
68+ mkdir common/libs/common
69+ # Copy classes
70+ cp -R common.aar/classes/com common/libs/common/com
71+ # Create the jar file
72+ jar cf common.jar -C common/libs/common .
73+
74+ # Remove original folder and put jar file in its final location
75+ rm -Rf common/libs/common
76+ mv common.jar common/libs
77+
78+ # Need the jar also in cardboard's lib folder
79+ cp common/libs/common.jar ../libraries/cardboard/lib
80+
81+ # Finally, create zip file and mode to the sdk location
82+ zip -r common.zip common
83+ mv common.zip ../libraries/cardboard/gvrsdk/$ver
84+
85+ # ###############################################
86+ # Audio package
87+ mkdir audio
88+
89+ # Start by copying manifest and resources
90+ cp audio.aar/AndroidManifest.xml audio
91+ cp -R audio.aar/res/ audio/res
92+
93+ # Extract classes from library's jar
94+ unzip audio.aar/classes.jar -d audio.aar/classes
95+ mkdir audio/libs
96+ mkdir audio/libs/audio
97+ # Copy classes
98+ cp -R audio.aar/classes/com audio/libs/audio/com
99+ # Copy native libs
100+ cp -R audio.aar/jni audio/libs/audio/lib
101+ # Create the jar file
102+ jar cf audio.jar -C audio/libs/audio .
103+
104+ # Remove original folder and put jar file in its final location
105+ rm -Rf audio/libs/audio
106+ mv audio.jar audio/libs
107+
108+ # Need the jar also in cardboard's lib folder
109+ cp audio/libs/audio.jar ../libraries/cardboard/lib
110+
111+ # Finally, create zip file and mode to the sdk location
112+ zip -r audio.zip audio
113+ mv audio.zip ../libraries/cardboard/gvrsdk/$ver
114+
115+ # ###############################################
116+ # Cleanup
117+ rm -Rf base
118+ rm -Rf base.aar
119+
120+ rm -Rf common
121+ rm -Rf common.aar
122+
123+ rm -Rf audio
124+ rm -Rf audio.aar
125+
126+ rm -Rf gvr-android-sdk-$ver
127+ rm $sdk .zip
128+
129+ # Done, print out reminder...
130+ echo " "
131+ echo " Done!"
132+ echo " Remember to update the GVR path jar in the mode's source code"
0 commit comments