/[zanavi_public1]/navit/ci/do_android.sh
ZANavi

Contents of /navit/ci/do_android.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 52 - (show annotations) (download) (as text)
Mon Nov 7 10:01:21 2016 UTC (7 years, 4 months ago) by zoff99
File MIME type: application/x-sh
File size: 12460 byte(s)
v2.0.53
1 #!/bin/bash
2
3
4 # --- set this in your CI scripts !! ---
5 # export FULL_LOG=1
6 # --- set this in your CI scripts !! ---
7
8
9 export START_PATH=~/
10 export SOURCE_PATH="$START_PATH""/"${CIRCLE_PROJECT_REPONAME}"/"
11
12 export ANDROID_NDK="/usr/local/android-ndk/"
13 export _NDK_="$ANDROID_NDK"
14
15 export ANDROID_SDK="/usr/local/android-sdk-linux/"
16 export _SDK_="$ANDROID_SDK"
17
18 export BUILD_PATH="$START_PATH""/android-build"
19 mkdir -p $BUILD_PATH
20
21 echo "================================="
22 pwd
23 echo "================================="
24 ls -al
25 echo "================================="
26 echo $ANDROID_HOME
27 echo "================================="
28 echo $START_PATH
29 echo "================================="
30 echo $SOURCE_PATH
31 echo "================================="
32 echo "$BUILD_PATH"
33 echo "================================="
34 ls -al "$BUILD_PATH"/
35 echo "================================="
36 echo ${CIRCLE_PROJECT_REPONAME}
37 echo "================================="
38 # type -a ccache
39 # echo "================================="
40
41 pwd
42
43 rm navit/maptool/poly2tri-c/001/seidel-1.0/triangulate
44 rm pngout-static
45 echo '#! /bin/bash' > pngout-static && \
46 echo 'echo $*' >> pngout-static && \
47 chmod u+rx pngout-static
48
49 if [ `uname -m` == 'x86_64' ] ; then SUFFIX2='_64' ; else SUFFIX2='' ; fi && \
50 export PATH=$PATH:$_SDK_/tools:$_SDK_/platform-tools:$_NDK_/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86$SUFFIX2/bin
51
52 cd $BUILD_PATH
53
54 # echo "cleaning ccache cache ..."
55 # ccache -c
56 # ccache -C
57 # echo "... done"
58 CCACHE=""
59
60 conf_addon=''
61
62 if [ "$COVERITY_BUILD_""x" == "1x" ]; then
63 sed -i -e 's#LIBS="$LIBS -rdynamic"#ABCDD="aaaabbb"#g' ../zanavi/configure
64 cat ../zanavi/configure | grep 'rdynamic'
65 cat ../zanavi/configure | grep 'aaaabbb'
66 conf_addon=' --disable-shared '
67 fi
68
69 DEBUG_="-fpic -ffunction-sections -fstack-protector -fomit-frame-pointer -fno-strict-aliasing -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march=armv5te -msoft-float -mthumb -finline-limit=64 -DHAVE_API_ANDROID -DANDROID -Wa,--noexecstack -O3 -I$_NDK_/platforms/android-14/arch-arm/usr/include -nostdlib -Wl,-rpath-link=$_NDK_/platforms/android-14/arch-arm/usr/lib -L$_NDK_/platforms/android-14/arch-arm/usr/lib"
70
71 ../zanavi/configure RANLIB=arm-linux-androideabi-ranlib AR=arm-linux-androideabi-ar CC="$CCACHE arm-linux-androideabi-gcc -O2 $DEBUG_ -L. -L$_NDK_/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86$SUFFIX2/lib/gcc/arm-linux-androideabi/4.8/ -lgcc -ljnigraphics " CXX="$CCACHE arm-linux-androideabi-g++ -O2 -fno-rtti -fno-exceptions -L$_NDK_/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86$SUFFIX2/lib/gcc/arm-linux-androideabi/4.8/ -lgcc -ljnigraphics " --host=arm-eabi-linux_android --enable-avoid-float --enable-avoid-unaligned --disable-glib --disable-gmodule --disable-vehicle-gpsd $conf_addon --enable-vehicle-demo --disable-binding-dbus --disable-speech-cmdline --disable-gui-gtk --disable-font-freetype --disable-fontconfig --disable-graphics-qt-qpainter --disable-graphics-gtk-drawing-area --disable-maptool --enable-cache-size=20971520 --enable-svg2png-scaling=8,16,32,48,64,96,192,384 --enable-svg2png-scaling-nav=48,64,59,96,192,384 --enable-svg2png-scaling-flag=32 --with-xslts=android,plugin_menu --with-saxon=saxonb-xslt --enable-transformation-roll --with-android-project="android-24" > /dev/null 2> /dev/null
72
73 if [ "$COVERITY_BUILD_""x" == "1x" ]; then
74 export AND_API_LEVEL_C=14 && \
75 export NDK=$_NDK_ && \
76 export DO_RELEASE_BUILD=1 && \
77 export DO_PNG_BUILD=1 && \
78 export NDK_CCACHE="" && \
79 export PATH=/home/ubuntu/cov_scan/cov-analysis-linux64-8.5.0/bin:/usr/local/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH
80 cd ~/android-build/
81 # cov-configure --comptype gcc --compiler /usr/local/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
82 cov-configure -co arm-linux-androideabi-gcc -- -march=armv5te -msoft-float -mthumb
83 make clean
84 cov-build --dir cov-int make
85
86 ls -al /home/ubuntu/android-build/navit/.libs/lib_data_data_com.zoffcc.applications.zanavi_lib_navit.so
87 ls -al /home/ubuntu/android-build/navit/.libs/navit2
88 ls -al /home/ubuntu/android-build/navit/navit2
89
90 make clean
91 conf_addon=''
92 sed -i -e 's#ABCDD="aaaabbb"#LIBS="$LIBS -rdynamic"#g' ../zanavi/configure
93 cat ../zanavi/configure | grep 'rdynamic'
94 cat ../zanavi/configure | grep 'aaaabbb'
95 ../zanavi/configure RANLIB=arm-linux-androideabi-ranlib AR=arm-linux-androideabi-ar CC="$CCACHE arm-linux-androideabi-gcc -O2 $DEBUG_ -L. -L$_NDK_/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86$SUFFIX2/lib/gcc/arm-linux-androideabi/4.8/ -lgcc -ljnigraphics " CXX="$CCACHE arm-linux-androideabi-g++ -O2 -fno-rtti -fno-exceptions -L$_NDK_/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86$SUFFIX2/lib/gcc/arm-linux-androideabi/4.8/ -lgcc -ljnigraphics " --host=arm-eabi-linux_android --enable-avoid-float --enable-avoid-unaligned --disable-glib --disable-gmodule --disable-vehicle-gpsd $conf_addon --enable-vehicle-demo --disable-binding-dbus --disable-speech-cmdline --disable-gui-gtk --disable-font-freetype --disable-fontconfig --disable-graphics-qt-qpainter --disable-graphics-gtk-drawing-area --disable-maptool --enable-cache-size=20971520 --enable-svg2png-scaling=8,16,32,48,64,96,192,384 --enable-svg2png-scaling-nav=48,64,59,96,192,384 --enable-svg2png-scaling-flag=32 --with-xslts=android,plugin_menu --with-saxon=saxonb-xslt --enable-transformation-roll --with-android-project="android-24" > /dev/null 2> /dev/null
96
97 fi
98
99 export AND_API_LEVEL_C=14
100 export NDK=$_NDK_
101 export DO_RELEASE_BUILD=1
102 export DO_PNG_BUILD=1
103 export NDK_CCACHE=""
104
105 if [ "$FULL_LOG""x" == "1x" ]; then
106 make && \
107 pwd && \
108 cd navit
109 make apkg-release || pwd
110 else
111 make 2>&1 | grep -i error && \
112 pwd && \
113 cd navit
114 make apkg-release 2>&1 | grep '\[javac\]' || pwd
115 fi
116
117 ls -al /home/ubuntu/android-build/navit/.libs/lib_data_data_com.zoffcc.applications.zanavi_lib_navit.so
118 ls -al /home/ubuntu/android-build/navit/.libs/navit2
119 ls -al /home/ubuntu/android-build/navit/navit2
120
121 # ---------------------
122 cd android-about-page && \
123 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
124 mv l.txt local.properties && \
125 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
126 cat local.properties
127 cd ..
128 # ---------------------
129
130 # ---------------------
131 cd android-support-animated-vector-drawable && \
132 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
133 mv l.txt local.properties && \
134 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
135 cat local.properties
136 cd ..
137 # ---------------------
138
139 # ---------------------
140 cd android-support-annotations && \
141 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
142 mv l.txt local.properties && \
143 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
144 cat local.properties
145 cd ..
146 # ---------------------
147
148 # ---------------------
149 cd android-support-design && \
150 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
151 mv l.txt local.properties && \
152 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
153 cat local.properties
154 cd ..
155 # ---------------------
156
157 # ---------------------
158 cd android-support-v4 && \
159 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
160 mv l.txt local.properties && \
161 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
162 cat local.properties
163 cd ..
164 # ---------------------
165
166 # ---------------------
167 cd android-support-v7-appcompat && \
168 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
169 mv l.txt local.properties && \
170 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
171 cat local.properties
172 cd ..
173 # ---------------------
174
175 # ---------------------
176 cd android-support-v7-recyclerview && \
177 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
178 mv l.txt local.properties && \
179 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
180 cat local.properties
181 cd ..
182 # ---------------------
183
184 # ---------------------
185 cd android-support-vector-drawable && \
186 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
187 mv l.txt local.properties && \
188 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
189 cat local.properties
190 cd ..
191 # ---------------------
192
193 # ---------------------
194 cd material-intro && \
195 cat local.properties |sed -e "s#/home/navit/_navit_develop/_need/SDK/_unpack/android-sdk-linux_x86#$_SDK_#" > l.txt && \
196 mv l.txt local.properties && \
197 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties && \
198
199 sed -i -e '3i\
200 <property name="java.target" value="1.7" />' build.xml
201 sed -i -e '3i\
202 <property name="java.source" value="1.7" />' build.xml
203
204 cat local.properties
205 cd ..
206 # ---------------------
207
208
209 # ---------------------
210 cd ./android
211 sed -i -e 'sxproguard.config=x#proguard.config=x' local.properties
212 # ---------------------
213
214
215 pwd
216 cat AndroidManifest.xml | sed -e 's#android:debuggable="true"#android:debuggable="false"#' > l.txt
217 mv l.txt AndroidManifest.xml
218
219 if [ "$FULL_LOG""x" == "1x" ]; then
220
221 ant -diagnostics | grep java\\.home
222 sed -i -e '3i\
223 <echo>Java/JVM version: ${ant.java.version}</echo>' build.xml
224 sed -i -e '3i\
225 <echo>Java/JVM detail version: ${java.version}</echo>' build.xml
226
227 sed -i -e '3i\
228 <echo message="Value of java.target is ${java.target}" /> ' build.xml
229 sed -i -e '3i\
230 <echo message="Value of java.source is ${java.source}" /> ' build.xml
231
232 sed -i -e '3i\
233 <property name="java.target" value="1.7" />' build.xml
234 sed -i -e '3i\
235 <property name="java.source" value="1.7" />' build.xml
236
237 # sudo sed -i -e 's#name="java.target" value="1.5"#name="java.target" value="1.7"#' \
238 #/usr/local/android-sdk-linux/tools/ant/build.xml
239 # sudo sed -i -e 's#name="java.source" value="1.5"#name="java.source" value="1.7"#' \
240 #/usr/local/android-sdk-linux/tools/ant/build.xml
241
242 # rm -f ../android-support-v7-appcompat/res/values-v23/values-v23.xml
243
244 ant release
245
246 else
247
248 ant -diagnostics | grep java\\.home
249 sed -i -e '3i\
250 <echo>Java/JVM version: ${ant.java.version}</echo>' build.xml
251 sed -i -e '3i\
252 <echo>Java/JVM detail version: ${java.version}</echo>' build.xml
253
254 sed -i -e '3i\
255 <echo message="Value of java.target is ${java.target}" /> ' build.xml
256 sed -i -e '3i\
257 <echo message="Value of java.source is ${java.source}" /> ' build.xml
258
259 sed -i -e '3i\
260 <property name="java.target" value="1.7" />' build.xml
261 sed -i -e '3i\
262 <property name="java.source" value="1.7" />' build.xml
263
264 # sudo sed -i -e 's#name="java.target" value="1.5"#name="java.target" value="1.7"#' \
265 #/usr/local/android-sdk-linux/tools/ant/build.xml
266 # sudo sed -i -e 's#name="java.source" value="1.5"#name="java.source" value="1.7"#' \
267 #/usr/local/android-sdk-linux/tools/ant/build.xml
268
269 # rm -f ../android-support-v7-appcompat/res/values-v23/values-v23.xml
270
271 ant release 2>&1 | grep '\[javac\]' # > /dev/null 2> /dev/null
272
273 fi
274
275 ###### --------------- delete debug signing-key ---------------
276 ### rm -f ~/.android/debug.keystore
277 ###### --------------- delete debug signing-key ---------------
278
279 cd bin/
280
281 if [ ! -f ~/.android/debug.keystore ]; then
282
283 echo "*** generating new signer key ***"
284 echo "*** generating new signer key ***"
285 echo "*** generating new signer key ***"
286
287 keytool -genkey -v -keystore ~/.android/debug.keystore -storepass android \
288 -keyalg RSA -keysize 2048 -validity 10000 \
289 -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"
290 fi
291
292 jarsigner -verbose -keystore ~/.android/debug.keystore \
293 -storepass android -keypass android -sigalg SHA1withRSA -digestalg SHA1 \
294 -sigfile CERT -signedjar zanavi_debug_signed.apk \
295 Navit-release-unsigned.apk androiddebugkey > /dev/null 2> /dev/null
296
297 ${_SDK_}/build-tools/23.0.1/zipalign -v 4 zanavi_debug_signed.apk zanavi_debug_signed_aligned.apk > /dev/null 2> /dev/null
298
299 pwd
300
301 ls -al
302
303 cd ..
304 pwd
305
306 cp -av bin/zanavi_debug_signed_aligned.apk $CIRCLE_ARTIFACTS/zanavi_circleci_$CIRCLE_SHA1.apk || exit 1
307

   
Visit the ZANavi Wiki