Created
December 1, 2015 14:20
-
-
Save xxnjdlys/4ab2726ae11dfc0a966f to your computer and use it in GitHub Desktop.
generate origional apk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# build script for wkremote | |
####################################### | |
# abort script on any failure | |
set -e | |
# check if necessary tools exists | |
type zipalign >/dev/null 2>&1 || { echo >&2 "zipalign required but it's not installed. Aborting."; exit 1; } | |
type java >/dev/null 2>&1 || { echo >&2 "java required but it's not installed. Aborting."; exit 1; } | |
WORKSPACE=`pwd` | |
OUTPUT=${WORKSPACE}/build/apks/ | |
OUTPUT_SERVER=${WORKSPACE}/build/apks/server/ | |
OUTPUT_CLIENT=${WORKSPACE}/build/apks/client/ | |
OUTPUT_MAPPING=${WORKSPACE}/build/apks/mappings/ | |
OUTPUT_PID_DIR=${WORKSPACE}/buildtool/ | |
function findcount() { | |
findstring=$1; | |
WORKSPACE=`pwd` | |
count=0 | |
grep -rl $findstring $WORKSPACE | grep ".java" > temp | |
while read line | |
do | |
num=`cat $line | grep $findstring | wc -l` | |
count=$[$count + $num] | |
done < temp | |
rm -f temp | |
echo $count | |
} | |
n1=`findcount "getDevelopContentApiAddress"` | |
if [ $n1 -gt 1 ] | |
then | |
echo "FATAL ERROR : BaseRestClient.getDevelopContentApiAddress() should not be invoked "; | |
exit 1; | |
fi | |
n2=`findcount "getDevAddress"` | |
if [ $n2 -gt 2 ] | |
then | |
echo "FATAL ERROR : BaseInterfaceUtils.getDevAddress() should not be invoked "; | |
exit 1; | |
fi | |
n3=`findcount "getTestApiAddress"` | |
if [ $n3 -gt 1 ] | |
then | |
echo "FATAL ERROR : BaseInterfaceUtils.getTestApiAddress() should not be invoked "; | |
exit 1; | |
fi | |
echo " | |
CLEAN ALL PROJECTS ... ... ... | |
" | |
gradle clean | |
rm -rf ${OUTPUT} | |
rm -rf ${OUTPUT_PID_DIR}/output* | |
mkdir -p ${OUTPUT} | |
mkdir -p ${OUTPUT_SERVER} | |
mkdir -p ${OUTPUT_CLIENT} | |
mkdir -p ${OUTPUT_MAPPING} | |
echo " | |
BUILD PLUGIN BEGINS ... ... ... | |
" | |
gradle :remoteplugin:aR | |
cd ${WORKSPACE}/remoteplugin/sign/ | |
rm -f plugin.apk | |
java -jar signapk.jar platform.x509.pem platform.pk8 ../build/outputs/apk/remoteplugin-release-unsigned.apk pluginu.apk | |
zipalign -v 4 pluginu.apk plugin.apk | |
rm pluginu.apk | |
cp plugin.apk ${WORKSPACE}/server/src/main/assets | |
cp plugin.apk ${OUTPUT} | |
echo " | |
BUILD PLUGIN SUCCESS ... ... ... | |
BUILD SERVER BEGINS ... ... ... | |
" | |
cd ${WORKSPACE} | |
gradle :server:aR | |
cd ${WORKSPACE}/server/build/outputs/apk | |
cp server-client-release.apk server.apk | |
cp *release.apk ${OUTPUT_SERVER} | |
cp server.apk ${OUTPUT_PID_DIR} | |
cd ${OUTPUT_PID_DIR} | |
python build.py client | |
mv ${OUTPUT_PID_DIR}output_server/server-client-release.apk ${OUTPUT_PID_DIR}output_server/server.apk | |
cp ${OUTPUT_PID_DIR}output_server/server.apk ${WORKSPACE}/client/src/main/assets | |
cp ${OUTPUT_PID_DIR}output_server/server.apk ${OUTPUT_SERVER} | |
echo " | |
BUILD SERVER SUCCESS ... ... ... | |
BUILD CLIENT BEGINS ... ... ... | |
" | |
cd ${WORKSPACE} | |
gradle :client:aR | |
cd ${WORKSPACE}/client/build/outputs/apk | |
cp *release.apk ${OUTPUT_CLIENT} | |
echo " | |
RENAME APKS IN DIRECTORY CLIENT ... ... ... | |
" | |
cd ${OUTPUT_CLIENT} | |
for i in `ls`; do mv -f ${i} `echo ${i} | sed 's/^client/wkremote/'`; done | |
echo " | |
RENAME APKS IN DIRECTORY SERVER ... ... ... | |
" | |
cd ${OUTPUT_SERVER} | |
for i in `ls`; do mv -f ${i} `echo ${i} | sed 's/^server/wkremoteTV/'`; done | |
echo " | |
BACKUP MAPPING.TXT FILES ... ... ... | |
" | |
client_mapping="$WORKSPACE/client/build/outputs/mapping/update2/release/mapping.txt" | |
server_mapping="$WORKSPACE/server/build/outputs/mapping/client/release/mapping.txt" | |
if [ -f "$client_mapping" ] | |
then | |
echo " | |
MODULE CLIENT MAPPING FILE FOUND ... ... ... | |
" | |
cd ${WORKSPACE}/client/build/outputs/mapping/update2/release | |
mv mapping.txt client-mapping.txt | |
cp client-mapping.txt ${OUTPUT_MAPPING} | |
else | |
echo " | |
MODULE CLIENT MAPPING FILE NOT FOUND ... ... ... | |
" | |
fi | |
if [ -f "$server_mapping" ] | |
then | |
echo " | |
MODULE SERVER MAPPING FILE FOUND ... ... ... | |
" | |
cd ${WORKSPACE}/server/build/outputs/mapping/client/release | |
mv mapping.txt server-mapping.txt | |
cp server-mapping.txt ${OUTPUT_MAPPING} | |
else | |
echo " | |
MODULE SERVER MAPPING FILE NOT FOUND ... ... ... | |
" | |
fi | |
echo " | |
SUCCESS ... ... ... | |
ALL BUILDS GENERATED IN | |
$OUTPUT | |
" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment