diff --git a/src/libs/utils/android.cpp b/src/libs/utils/android.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..9cca280565c8b419b83065f6fb63e671a61970db
--- /dev/null
+++ b/src/libs/utils/android.cpp
@@ -0,0 +1,38 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#include "android.h"
+
+#include <QAndroidJniObject>
+
+namespace utils {
+
+Android::Android(QObject *parent) : QObject(parent)
+{}
+
+bool Android::openApk(const QString &uri)
+{
+    QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
+    if (activity.isValid()) {
+        QAndroidJniObject fileUri = QAndroidJniObject::fromString(uri);
+        QAndroidJniObject parsedUri = QAndroidJniObject::callStaticObjectMethod("android/net/Uri", "parse", "(Ljava/lang/String;)Landroid/net/Uri;", fileUri.object());
+        QAndroidJniObject mimeType = QAndroidJniObject::fromString("application/vnd.android.package-archive");
+        QAndroidJniObject activityKind = QAndroidJniObject::fromString("android.intent.action.VIEW");
+        QAndroidJniObject intent("android/content/Intent", "(Ljava/lang/String;)V", activityKind.object());
+        intent = intent.callObjectMethod("setDataAndType", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;", parsedUri.object(), mimeType.object());
+        intent = intent.callObjectMethod("setFlags", "(I)Landroid/content/Intent;", 0x10000000); // 0x10000000 = FLAG_ACTIVITY_NEW_TASK
+        activity.callObjectMethod("startActivity", "(Landroid/content/Intent;)V", intent.object());
+        return true;
+    }
+    return false;
+}
+
+} // namespace utils
diff --git a/src/libs/utils/android.h b/src/libs/utils/android.h
new file mode 100644
index 0000000000000000000000000000000000000000..bbbccd36a693dc5ca086cfa1db8d4b87eabaa0e0
--- /dev/null
+++ b/src/libs/utils/android.h
@@ -0,0 +1,28 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#pragma once
+
+#include <QObject>
+
+namespace utils {
+
+class Android : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit Android(QObject *parent = 0);
+
+    static bool openApk(const QString &uri);
+};
+
+} // namespace utils
diff --git a/src/libs/utils/config.cpp b/src/libs/utils/config.cpp
index 6da4adac24b470196ec6e97ec1452565f3638f89..13b1018af9a1ee4f0feab0315794875aa8a3bb43 100644
--- a/src/libs/utils/config.cpp
+++ b/src/libs/utils/config.cpp
@@ -1,3 +1,14 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
 #include "config.h"
 
 #include "file.h"
diff --git a/src/libs/utils/config.h b/src/libs/utils/config.h
index 02a3f67016c68457ee1824d87d02100f45f2f937..9949407873709013bd414ff9b695c31e21c05f6d 100644
--- a/src/libs/utils/config.h
+++ b/src/libs/utils/config.h
@@ -1,5 +1,15 @@
-#ifndef UTILS_CONFIG_H
-#define UTILS_CONFIG_H
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#pragma once
 
 #include <QObject>
 #include <QJsonObject>
@@ -22,5 +32,3 @@ private:
 };
 
 } // namespace utils
-
-#endif // UTILS_CONFIG_H
diff --git a/src/libs/utils/file.cpp b/src/libs/utils/file.cpp
index 054826924eacf274a71a17c821a9602984ed66bc..04195c367cf1b2e5d43fa7b23303de121621473a 100644
--- a/src/libs/utils/file.cpp
+++ b/src/libs/utils/file.cpp
@@ -1,3 +1,14 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
 #include "file.h"
 
 #include <QIODevice>
diff --git a/src/libs/utils/file.h b/src/libs/utils/file.h
index 6fbfa915698112b9c67095b620527fbb5d9d6312..01cf4d6b21764f6666a9cdcbfa5710e77c662447 100644
--- a/src/libs/utils/file.h
+++ b/src/libs/utils/file.h
@@ -1,5 +1,15 @@
-#ifndef UTILS_FILE_H
-#define UTILS_FILE_H
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#pragma once
 
 #include <QObject>
 
@@ -34,5 +44,3 @@ public:
 };
 
 } // namespace utils
-
-#endif // UTILS_FILE_H
diff --git a/src/libs/utils/json.cpp b/src/libs/utils/json.cpp
index 027405b39a49492b8f86943491f797aa9fb0105f..1573c847890f2d0c6365b9372542b9a4db355ec1 100644
--- a/src/libs/utils/json.cpp
+++ b/src/libs/utils/json.cpp
@@ -1,3 +1,14 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
 #include "json.h"
 
 #include <QJsonDocument>
diff --git a/src/libs/utils/json.h b/src/libs/utils/json.h
index d78c6b5cbde92a2f63805d012e1311e9a5a9a876..f53527ad12b13650f4a5634d005f52e4bcaf5cfe 100644
--- a/src/libs/utils/json.h
+++ b/src/libs/utils/json.h
@@ -1,5 +1,15 @@
-#ifndef UTILS_JSON_H
-#define UTILS_JSON_H
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#pragma once
 
 #include <QObject>
 
@@ -18,5 +28,3 @@ public:
 };
 
 } // namespace utils
-
-#endif // UTILS_JSON_H
diff --git a/src/libs/utils/network.cpp b/src/libs/utils/network.cpp
index d299eed33f666fd213eb4686d1b69e667c2fbd76..2256a941a0a761bd76ddc39fb2c57ea7138c8a47 100644
--- a/src/libs/utils/network.cpp
+++ b/src/libs/utils/network.cpp
@@ -1,3 +1,14 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
 #include "network.h"
 
 #include <QEventLoop>
diff --git a/src/libs/utils/network.h b/src/libs/utils/network.h
index a8cf8128af758362d83ce36dd856d415c878fe87..fcb835028def3b28e0e99d72f792a813a561a5bd 100644
--- a/src/libs/utils/network.h
+++ b/src/libs/utils/network.h
@@ -1,5 +1,15 @@
-#ifndef UTILS_NETWORK_H
-#define UTILS_NETWORK_H
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#pragma once
 
 #include <QObject>
 
@@ -31,5 +41,3 @@ private:
 };
 
 } // namespace utils
-
-#endif // UTILS_NETWORK_H
diff --git a/src/libs/utils/package.cpp b/src/libs/utils/package.cpp
index 2edfba7a0a155dd3c23f0ab58165309a25625a8b..6196c063404fc176325665e6a0fba447b58abc83 100644
--- a/src/libs/utils/package.cpp
+++ b/src/libs/utils/package.cpp
@@ -1,3 +1,14 @@
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
 #include "package.h"
 
 #include <QJsonObject>
diff --git a/src/libs/utils/package.h b/src/libs/utils/package.h
index 2fe8cfb67195b58b1893faea222784218ef18a1d..9f086dded976aa2384584a8c9e05d204f9681daf 100644
--- a/src/libs/utils/package.h
+++ b/src/libs/utils/package.h
@@ -1,5 +1,15 @@
-#ifndef UTILS_PACKAGE_H
-#define UTILS_PACKAGE_H
+/**
+ * A library for Qt app
+ *
+ * LICENSE: The GNU Lesser General Public License, version 3.0
+ *
+ * @author      Akira Ohgaki <akiraohgaki@gmail.com>
+ * @copyright   Akira Ohgaki
+ * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
+ * @link        https://github.com/akiraohgaki/qt-libs
+ */
+
+#pragma once
 
 #include <QObject>
 
@@ -23,5 +33,3 @@ private:
 };
 
 } // namespace utils
-
-#endif // UTILS_PACKAGE_H