summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Venkatesh Shukla <venkatesh.shukla.eee11@iitbhu.ac.in>2014-06-23 17:18:17 +0530
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-06-25 13:50:21 +0800
commit6e106156666ac2c107286a5bfd519474620cb8f9 (patch)
tree83e1ba8b5f441771e652ce3d781a167e6f79f09f
parent772727fc7f44faaf94afc24bd1f151e40ddaefef (diff)
downloadsubsurface-6e106156666ac2c107286a5bfd519474620cb8f9.tar.gz
Template for subsurface android package
For modifications to the final source code of built android package such as permission additions and inclusion of xml and java files, it is necessary to maintain a template. The template is copied without any modifications on top of qt android-template before building subsurface libraries. Refer: http://qt-project.org/doc/qt-5/deployment-android.html#qmake-variables Files that are required to be directly copied to android package would be included in directory android. Icons for subsurface on android and string.xml are included. Signed-off-by: Venkatesh Shukla <venkatesh.shukla.eee11@iitbhu.ac.in> Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--.gitignore1
-rw-r--r--android/AndroidManifest.xml108
-rw-r--r--android/res/drawable-hdpi/subsurface_icon.pngbin0 -> 20958 bytes
-rw-r--r--android/res/drawable-mdpi/subsurface_icon.pngbin0 -> 9402 bytes
-rw-r--r--android/res/drawable-xhdpi/subsurface_icon.pngbin0 -> 37139 bytes
-rw-r--r--android/res/drawable-xxhdpi/subsurface_icon.pngbin0 -> 83344 bytes
-rw-r--r--android/res/drawable-xxxhdpi/subsurface_icon.pngbin0 -> 148010 bytes
-rw-r--r--android/res/values/strings.xml8
-rw-r--r--subsurface-install.pri2
-rw-r--r--subsurface.pro6
10 files changed, 125 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 927228628..8b921ab5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@ Makefile
subsurface.pro.user*
Subsurface.app
.DS_Store
+!android/**/*.xml
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
new file mode 100644
index 000000000..6d7b24db2
--- /dev/null
+++ b/android/AndroidManifest.xml
@@ -0,0 +1,108 @@
+<?xml version='1.0' encoding='utf-8'?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="org.subsurface"
+ android:installLocation="auto"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <application
+ android:name="org.qtproject.qt5.android.bindings.QtApplication"
+ android:hardwareAccelerated="true"
+ android:label="@string/app_name"
+ android:icon="@drawable/subsurface_icon" >
+ <activity
+ android:name="org.qtproject.qt5.android.bindings.QtActivity"
+ android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation"
+ android:label="@string/app_name"
+ android:launchMode="singleTop"
+ android:screenOrientation="unspecified" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+
+ <meta-data
+ android:name="android.app.lib_name"
+ android:value="-- %%INSERT_APP_LIB_NAME%% --" />
+ <meta-data
+ android:name="android.app.qt_sources_resource_id"
+ android:resource="@array/qt_sources" />
+ <meta-data
+ android:name="android.app.repository"
+ android:value="default" />
+ <meta-data
+ android:name="android.app.qt_libs_resource_id"
+ android:resource="@array/qt_libs" />
+ <meta-data
+ android:name="android.app.bundled_libs_resource_id"
+ android:resource="@array/bundled_libs" />
+ <!-- Deploy Qt libs as part of package -->
+ <meta-data
+ android:name="android.app.bundle_local_qt_libs"
+ android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --" />
+ <meta-data
+ android:name="android.app.bundled_in_lib_resource_id"
+ android:resource="@array/bundled_in_lib" />
+ <meta-data
+ android:name="android.app.bundled_in_assets_resource_id"
+ android:resource="@array/bundled_in_assets" />
+ <!-- Run with local libs -->
+ <meta-data
+ android:name="android.app.use_local_qt_libs"
+ android:value="-- %%USE_LOCAL_QT_LIBS%% --" />
+ <meta-data
+ android:name="android.app.libs_prefix"
+ android:value="/data/local/tmp/qt/" />
+ <meta-data
+ android:name="android.app.load_local_libs"
+ android:value="-- %%INSERT_LOCAL_LIBS%% --" />
+ <meta-data
+ android:name="android.app.load_local_jars"
+ android:value="-- %%INSERT_LOCAL_JARS%% --" />
+ <meta-data
+ android:name="android.app.static_init_classes"
+ android:value="-- %%INSERT_INIT_CLASSES%% --" />
+ <!-- Messages maps -->
+ <meta-data
+ android:name="android.app.ministro_not_found_msg"
+ android:value="@string/ministro_not_found_msg" />
+ <meta-data
+ android:name="android.app.ministro_needed_msg"
+ android:value="@string/ministro_needed_msg" />
+ <meta-data
+ android:name="android.app.fatal_error_msg"
+ android:value="@string/fatal_error_msg" />
+ <!-- Messages maps -->
+
+
+ <!-- Splash screen -->
+ <!--
+ <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
+ -->
+ <!-- Splash screen -->
+
+ </application>
+
+ <uses-sdk android:minSdkVersion="12" />
+
+ <supports-screens
+ android:anyDensity="true"
+ android:largeScreens="true"
+ android:normalScreens="true"
+ android:smallScreens="true" />
+
+ <!--
+ The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
+ Remove the comment if you do not require these default permissions.
+ -->
+ <!-- %%INSERT_PERMISSIONS -->
+
+
+ <!--
+ The following comment will be replaced upon deployment with default features based on the dependencies of the application.
+ Remove the comment if you do not require these default features.
+ -->
+ <!-- %%INSERT_FEATURES -->
+
+</manifest>
diff --git a/android/res/drawable-hdpi/subsurface_icon.png b/android/res/drawable-hdpi/subsurface_icon.png
new file mode 100644
index 000000000..659ee2619
--- /dev/null
+++ b/android/res/drawable-hdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-mdpi/subsurface_icon.png b/android/res/drawable-mdpi/subsurface_icon.png
new file mode 100644
index 000000000..57465be23
--- /dev/null
+++ b/android/res/drawable-mdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/subsurface_icon.png b/android/res/drawable-xhdpi/subsurface_icon.png
new file mode 100644
index 000000000..0d2e2e8cb
--- /dev/null
+++ b/android/res/drawable-xhdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/subsurface_icon.png b/android/res/drawable-xxhdpi/subsurface_icon.png
new file mode 100644
index 000000000..9a0a470a6
--- /dev/null
+++ b/android/res/drawable-xxhdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/subsurface_icon.png b/android/res/drawable-xxxhdpi/subsurface_icon.png
new file mode 100644
index 000000000..00b0a13c9
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
new file mode 100644
index 000000000..2a79f113e
--- /dev/null
+++ b/android/res/values/strings.xml
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='utf-8'?>
+<resources>
+ <string name="app_name">Subsurface</string>
+
+ <string name="ministro_not_found_msg">Can\'t find Ministro service.\nThe application can\'t start.</string>
+ <string name="ministro_needed_msg">This application requires Ministro service. Would you like to install it?</string>
+ <string name="fatal_error_msg">Your application encountered a fatal error and cannot continue.</string>
+</resources>
diff --git a/subsurface-install.pri b/subsurface-install.pri
index db1c0ff6a..0fec89d32 100644
--- a/subsurface-install.pri
+++ b/subsurface-install.pri
@@ -130,6 +130,8 @@ mac {
} else: android {
# Android install rules
QMAKE_BUNDLE_DATA += translation qttranslation
+ # Android template directory
+ ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/android
} else {
# Linux install rules
# On Linux, we can count on packagers doing the right thing
diff --git a/subsurface.pro b/subsurface.pro
index 1172020c5..86d19cd71 100644
--- a/subsurface.pro
+++ b/subsurface.pro
@@ -263,6 +263,12 @@ theme.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/theme || $(COPY_DIR) $$PWD/theme $
all.depends += theme
QMAKE_EXTRA_TARGETS += theme
+android {
+ android.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/android || $(COPY_DIR) $$PWD/android $$OUT_PWD
+ all.depends += android
+ QMAKE_EXTRA_TARGETS += android
+}
+
DESKTOP_FILE = subsurface.desktop
mac: ICON = packaging/macosx/Subsurface.icns
else: ICON = subsurface-icon.svg