Skip to content

Commit 2fafee9

Browse files
committed
Rework android apk generating
1 parent 3afa347 commit 2fafee9

37 files changed

+2261
-238
lines changed

build_android.sh

+52-8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,30 @@
33

44
archs=$1
55

6+
if [ -z $QT_DIR ]
7+
then
8+
export QT_DIR=/opt/Qt5.1/5.1.0
9+
fi
10+
11+
echo "####################### Build androiddeployqt #######################"
12+
export QT_DESK_QMAKE=$QT_DIR/gcc/bin/qmake
13+
export ANDROID_DEPLOY_QT_PATH=./platform/android/androiddeployqt
14+
15+
cd $ANDROID_DEPLOY_QT_PATH
16+
$QT_DESK_QMAKE androiddeployqt.pro -r -spec linux-g++
17+
make
18+
cd -
19+
20+
export ANDROID_DEPLOY_QT=$ANDROID_DEPLOY_QT_PATH/androiddeployqt
21+
export ANDROID_PACKAGE=org.webdriver.qt
22+
export ANDROID_JAVA=/home/dmytro/Chromium/wd_working/platform/android/java/
23+
export ANDROID_APP_NAME=AndroidWD
24+
export MINISTRO="--deployment ministro"
25+
26+
export KEY_STORE=`pwd`/platform/android/androidwd.keystore
27+
export ALIAS="qtwd"
28+
export PASSWORD="123456"
29+
630
if [ -z $archs ];
731
then
832
archs="armv7 x86"
@@ -19,27 +43,28 @@ then
1943
export ANDROID_SDK_ROOT=/opt/android/adt-bundle-linux-x86-20130522/sdk
2044
fi
2145

22-
if [ -z $QT_DIR ]
23-
then
24-
export QT_DIR=/opt/Qt5.1/5.1.0
25-
fi
26-
2746
for arch in $archs
2847
do
2948
if [ $arch = "x86" ];
3049
then
31-
export ANDROID_ARCH=arch-x86
50+
export ANDROID_ARCH=x86
3251
export ANDROID_LIB_ARCH=x86
52+
export ANDROID_TOOLCHAIN_VERSION=4.7
3353
export ANDROID_TOOLCHAIN=x86-4.7
3454
export ANDROID_TOOL_PREFIX=i686-linux-android
3555
export ANDROID_TARGET=android-10
56+
export ANDROID_TOOLCHAIN_PREFIX=x86
57+
export ANDROID_NDK_HOST=linux-x86
3658
elif [ $arch = "armv7" ];
3759
then
38-
export ANDROID_ARCH=arch-arm
60+
export ANDROID_ARCH=arm
3961
export ANDROID_LIB_ARCH=armeabi-v7a
62+
export ANDROID_TOOLCHAIN_VERSION=4.7
4063
export ANDROID_TOOLCHAIN=arm-linux-androideabi-4.7
4164
export ANDROID_TOOL_PREFIX=arm-linux-androideabi
4265
export ANDROID_TARGET=android-10
66+
export ANDROID_TOOLCHAIN_PREFIX=arm-linux-androideabi
67+
export ANDROID_NDK_HOST=linux-x86
4368
else
4469
echo "We don't support platform " $arch
4570
exit 1
@@ -79,8 +104,27 @@ fi
79104
fi
80105

81106
dist_dir=`pwd`/out/bin/$platform/$mode
107+
export BINARY_PATH=$dist_dir/libWebDriver_noWebkit_android.so
108+
109+
#clean android directory
110+
rm -rf $dist_dir/android
111+
112+
82113
echo "####################### Create apk "$arch" "$mode" #######################"
83-
python generate_apk.py $dist_dir $mode
114+
mkdir -p $dist_dir/android/libs/$ANDROID_LIB_ARCH
115+
cp $BINARY_PATH $dist_dir/android/libs/$ANDROID_LIB_ARCH
116+
117+
export ANDROID_JSON_CONFIG=$dist_dir/android/android_config.json
118+
python generate_android_json.py
119+
120+
if [ $mode = "release" ]
121+
then
122+
export RELEASE_ARG="--sign "$KEY_STORE" "$ALIAS" --storepass "$PASSWORD
123+
echo $RELEASE_ARG
124+
fi
125+
126+
$ANDROID_DEPLOY_QT --output $dist_dir/android --input $ANDROID_JSON_CONFIG --verbose $MINISTRO $RELEASE_ARG
127+
84128
done
85129

86130
done

generate_android_json.py

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import os
2+
3+
filename = os.environ['ANDROID_JSON_CONFIG']
4+
5+
jsonfile = open (filename, 'w')
6+
jsonfile.write("{\n")
7+
jsonfile.write("\"qt\": \"" +os.environ['QT_ROOT'] +"\",\n")
8+
jsonfile.write("\"sdk\": \"" +os.environ['ANDROID_SDK_ROOT'] +"\",\n")
9+
jsonfile.write("\"ndk\": \"" +os.environ['ANDROID_NDK_ROOT'] +"\",\n")
10+
jsonfile.write("\"toolchain-prefix\": \"" +os.environ['ANDROID_TOOLCHAIN_PREFIX'] +"\",\n")
11+
jsonfile.write("\"tool-prefix\": \"" +os.environ['ANDROID_TOOL_PREFIX'] +"\",\n")
12+
jsonfile.write("\"toolchain-version\": \"" +os.environ['ANDROID_TOOLCHAIN_VERSION'] +"\",\n")
13+
jsonfile.write("\"ndk-host\": \"" +os.environ['ANDROID_NDK_HOST'] +"\",\n")
14+
jsonfile.write("\"target-architecture\": \"" +os.environ['ANDROID_LIB_ARCH'] +"\",\n")
15+
jsonfile.write("\"application-binary\": \"" +os.environ['BINARY_PATH'] +"\",\n")
16+
jsonfile.write("\"android-package\": \"" +os.environ['ANDROID_PACKAGE'] +"\",\n")
17+
jsonfile.write("\"android-package-source-directory\": \"" +os.environ['ANDROID_JAVA'] +"\",\n")
18+
jsonfile.write("\"android-app-name\": \"" +os.environ['ANDROID_APP_NAME'] +"\"\n")
19+
jsonfile.write("}")
20+
jsonfile.close()
21+

generate_apk.py

-144
This file was deleted.

platform/android/AndroidManifest.xml

-37
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
CONFIG += console
3+
4+
SOURCES += \
5+
main.cpp
6+

0 commit comments

Comments
 (0)