summaryrefslogtreecommitdiff
path: root/mobile.sh
diff options
context:
space:
mode:
authorGubolin <gubolin@fantasymail.de>2015-02-24 10:16:02 +0100
committerGubolin <gubolin@fantasymail.de>2015-02-24 10:16:02 +0100
commitf6e26faca52ba5a236066ef55f523ad7a0c8694b (patch)
tree154be7d8efec85183dc1ad1db0740b29c0e02f34 /mobile.sh
parentaf35f17f1a3e98be022d6303f898ebec523874ab (diff)
parent13eed946d223a5c46d8857c74fd41efd9052ba01 (diff)
downloadsnap-f6e26faca52ba5a236066ef55f523ad7a0c8694b.tar.gz
snap-f6e26faca52ba5a236066ef55f523ad7a0c8694b.zip
merge
Diffstat (limited to 'mobile.sh')
-rwxr-xr-xmobile.sh43
1 files changed, 34 insertions, 9 deletions
diff --git a/mobile.sh b/mobile.sh
index 6ec8a0e..edbf020 100755
--- a/mobile.sh
+++ b/mobile.sh
@@ -16,6 +16,7 @@ scriptdir=$(readlink -e ".")
# Requirements:
# git, nodejs, android SDK / other platform(s)
# cordova (https://cordova.apache.org/)
+# optional: crosswalk-cordova (https://github.com/crosswalk-project/crosswalk-cordova-android)
if [[ $2 != "" ]]
then
@@ -40,26 +41,50 @@ fi
# add mobile-specific library; it's made available at runtime
sed -i '/link rel="shortcut icon"/a\
- <script type="text/javascript" src="cordova.js"></script>' snap.html
+ <script type="text/javascript" src="cordova.js"></script>' snap.html
+echo "Adding cordova plugins"
# add everything needed and build for $device
-cordova platform add "$1"
-cordova plugin add org.apache.cordova.plugin.softkeyboard
-cordova plugin add org.apache.cordova.vibration
-cordova plugin add org.apache.cordova.device-motion
-cordova plugin add org.apache.cordova.device-orientation
-cordova plugin add org.apache.cordova.geolocation
-cordova plugin add de.appplant.cordova.plugin.local-notification
+cordova platform add "$1" > /dev/null
+cordova plugin add org.apache.cordova.plugin.softkeyboard \
+ org.apache.cordova.vibration \
+ org.apache.cordova.device-motion \
+ org.apache.cordova.device-orientation \
+ org.apache.cordova.geolocation \
+ de.appplant.cordova.plugin.local-notification 2> /dev/null
if [[ $1 == "android" ]]
then
# Remove default icons
cd "$builddir/platforms/android"
find -name '*.png' | xargs rm
+
+ if [[ $crosswalk != "" ]]
+ then
+ # adapted from https://crosswalk-project.org/documentation/cordova/migrate_an_application.html#migrate
+ echo "Preparing crosswalk"
+ rm -Rf "$builddir/platforms/android/CordovaLib/*"
+ cp -a $crosswalk/framework/* "$builddir/platforms/android/CordovaLib/"
+ cp -a "$crosswalk/VERSION" "$builddir/platforms/android/"
+ export ANDROID_HOME=$(dirname $(dirname $(which android)))
+ cd "$builddir/platforms/android/CordovaLib/"
+ android update project --subprojects --target android-21 --path . > /dev/null
+ ant debug > /dev/null
+ cd "$builddir"
+ # prepend permissions to end of manifest
+ sed -i "s,</manifest>,\
+ <uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" />\
+ <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" />\
+ <uses-permission android:name=\"android.permission.INTERACT_ACROSS_USERS\" />\
+ </manifest>,g" \
+ "$builddir/platforms/android/AndroidManifest.xml"
+ fi
fi
-cordova build "$1"
+echo "Building application"
+cordova build "$1" > /dev/null
cd $builddir
# TODO other platforms
find -name '*.apk' | xargs -I {} mv {} $scriptdir
+echo "Finished."