114 lines
2.1 KiB
Bash
Executable file
114 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
usage() {
|
|
|
|
cat <<EOF
|
|
$0
|
|
--sdk <SDK file path>
|
|
--system <system sdk file path>
|
|
--support <support library file path>
|
|
EOF
|
|
exit 2
|
|
|
|
}
|
|
|
|
banner() {
|
|
echo "**************************************************"
|
|
echo "Updating $1 "
|
|
echo "**************************************************"
|
|
}
|
|
|
|
update_sdk() {
|
|
if [ -f "$SDK" ]
|
|
then
|
|
banner "SDK"
|
|
cd $ROOT_DIR/current
|
|
rm -f android.jar uiautomator.jar framework.aidl
|
|
unzip -j $SDK */android.jar */uiautomator.jar */framework.aidl
|
|
fi
|
|
}
|
|
|
|
update_system_sdk() {
|
|
if [ -f "$SYSTEM_SDK" ]
|
|
then
|
|
banner "system SDK"
|
|
cp -f $SYSTEM_SDK $ROOT_DIR/system_current/android.jar
|
|
fi
|
|
}
|
|
|
|
update_support_lib() {
|
|
if [ -f "$SUPPORT" ]
|
|
then
|
|
banner "support library"
|
|
rm -rf $ROOT_DIR/current/support/
|
|
cd $ROOT_DIR/current
|
|
unzip $SUPPORT >/dev/null
|
|
|
|
# Remove duplicates
|
|
rm -f support/v7/appcompat/libs/android-support-v4.jar
|
|
rm -f support/multidex/instrumentation/libs/android-support-multidex.jar
|
|
|
|
# Remove samples
|
|
rm -rf support/samples
|
|
|
|
# Remove source files
|
|
find support -name "*.java" \
|
|
-o -name "*.aidl" \
|
|
-o -name AndroidManifest.xml \
|
|
| xargs rm
|
|
|
|
# Other misc files we don't need
|
|
find support -name "*.gradle" \
|
|
-o -name ".classpath" \
|
|
-o -name ".project" \
|
|
-o -name "project.properties" \
|
|
-o -name "source.properties" \
|
|
-o -name ".readme" \
|
|
-o -name "README.txt" \
|
|
-o -name "package.html" \
|
|
-o -name "NOTICE.txt" \
|
|
| xargs rm
|
|
|
|
# Now we can remove empty dirs
|
|
find . -type d -empty -delete
|
|
fi
|
|
}
|
|
|
|
main() {
|
|
while [ "$#" -gt 0 ]
|
|
do
|
|
case "$1" in
|
|
--help|-h)
|
|
usage
|
|
;;
|
|
--sdk)
|
|
export SDK="$2"
|
|
shift; shift
|
|
;;
|
|
--system)
|
|
export SYSTEM_SDK="$2"
|
|
shift; shift
|
|
;;
|
|
--support)
|
|
export SUPPORT="$2"
|
|
shift; shift
|
|
;;
|
|
-*)
|
|
usage
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
ROOT_DIR=$(realpath $(dirname $0))
|
|
|
|
update_sdk
|
|
update_system_sdk
|
|
update_support_lib
|
|
}
|
|
|
|
main $*
|