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 |
|