fix: Various fixes to the build system
1. Adding AndroidManifest.xml with app icons and splash screen 2. Renaming IOS-build to Status-tablet 3. Update androiddeployqt to run on android-31 4. Adding app icons to IOS 5. Fixing makefile clean, makefile nim_status_client dependencies, makefile DOtherSide lib name 6. Update README.md with latest changes
@@ -27,10 +27,10 @@ OPENSSL?=$(PWD)/vendors/OpenSSL-for-iPhone
|
||||
QRCODEGEN?=$(STATUS_DESKTOP)/vendor/QR-Code-generator/c
|
||||
PCRE?=$(PWD)/vendors/pcre-8.45
|
||||
|
||||
project_name := IOS-build
|
||||
project_name := Status-tablet
|
||||
|
||||
# compile macros
|
||||
TARGET_NAME := IOS-build.$(shell if [ $(OS) = "ios" ]; then echo "app"; else echo "apk"; fi )
|
||||
TARGET_NAME := Status-tablet.$(shell if [ $(OS) = "ios" ]; then echo "app"; else echo "apk"; fi )
|
||||
|
||||
TARGET := $(BIN_PATH)/$(TARGET_NAME)
|
||||
|
||||
@@ -63,13 +63,17 @@ RUN_SCRIPT := $(SCRIPTS_PATH)/$(OS)/run.sh
|
||||
# lib files
|
||||
STATUS_GO_LIB := $(LIB_PATH)/libstatus$(LIB_EXT)
|
||||
STATUS_Q_LIB := $(LIB_PATH)/libStatusQ$(LIB_SUFFIX)$(LIB_EXT)
|
||||
DOTHERSIDE_LIB := $(LIB_PATH)/libDOtherSide$(LIB_SUFFIX)$(LIB_EXT)
|
||||
OPENSSL_LIB := $(LIB_PATH)/libssl_1_1$(LIB_EXT)
|
||||
QRCODEGEN_LIB := $(LIB_PATH)/libqrcodegen.a
|
||||
PCRE_LIB := $(LIB_PATH)/libpcre$(LIB_EXT)
|
||||
QZXING_LIB := $(LIB_PATH)/libqzxing.a
|
||||
NIM_STATUS_CLIENT_LIB := $(LIB_PATH)/libnim_status_client$(LIB_EXT)
|
||||
STATUS_DESKTOP_RCC := $(STATUS_DESKTOP)/ui/resources.qrc
|
||||
ifeq ($(OS), ios)
|
||||
DOTHERSIDE_LIB := $(LIB_PATH)/libDOtherSideStatic$(LIB_SUFFIX)$(LIB_EXT)
|
||||
else
|
||||
DOTHERSIDE_LIB := $(LIB_PATH)/libDOtherSide$(LIB_SUFFIX)$(LIB_EXT)
|
||||
endif
|
||||
|
||||
# default rule
|
||||
default: makedir all
|
||||
@@ -129,7 +133,7 @@ $(STATUS_DESKTOP_RCC): $(STATUS_DESKTOP_UI_FILES)
|
||||
@make -C $(STATUS_DESKTOP) rcc $(HANDLE_OUTPUT)
|
||||
@echo "Status Desktop rcc built"
|
||||
|
||||
$(NIM_STATUS_CLIENT_LIB): $(STATUS_DESKTOP_NIM_FILES) $(NIM_STATUS_CLIENT_SCRIPT)
|
||||
$(NIM_STATUS_CLIENT_LIB): $(STATUS_DESKTOP_NIM_FILES) $(NIM_STATUS_CLIENT_SCRIPT) $(STATUS_DESKTOP_RCC) $(DOTHERSIDE_LIB) $(OPENSSL_LIB) $(STATUS_Q_LIB) $(STATUS_GO_LIB) $(PCRE_LIB) $(QRCODEGEN_LIB)
|
||||
@echo "Building Status Desktop Lib"
|
||||
@STATUS_DESKTOP=$(STATUS_DESKTOP) HOST_ENV="$(HOST_ENV)" LIB_SUFFIX=$(LIB_SUFFIX) LIB_EXT=$(LIB_EXT) $(NIM_STATUS_CLIENT_SCRIPT) $(HANDLE_OUTPUT)
|
||||
@echo "Status Desktop Lib built $(NIM_STATUS_CLIENT_LIB)"
|
||||
@@ -190,6 +194,7 @@ clean-pcre:
|
||||
.PHONY: clean-nim-status-client
|
||||
clean-nim-status-client:
|
||||
@rm -f $(NIM_STATUS_CLIENT_LIB)
|
||||
@rm -rf $(STATUS_DESKTOP)/nimcache
|
||||
|
||||
.PHONY: clean-status-desktop-rcc
|
||||
clean-status-desktop-rcc:
|
||||
|
||||
@@ -1,10 +1,39 @@
|
||||
# Qt Version Compatibility
|
||||
|
||||
This project supports both Qt5 and Qt6. The build system automatically detects your Qt version and adjusts accordingly.
|
||||
|
||||
## Building with Qt5 (Default)
|
||||
- iOS minimum deployment target: iOS 12
|
||||
- IOS simulator: Ipad pro
|
||||
- Android target: Android 31
|
||||
- Android ndk: 21.3.6528147
|
||||
- Android API: 28
|
||||
- JDK: 11
|
||||
|
||||
## Building with Qt6
|
||||
- iOS minimum deployment target: iOS 16
|
||||
- IOS simulator: Ipad pro
|
||||
- Android target: Android 35
|
||||
- Android ndk: 26.1.10909125
|
||||
- Android API: 28
|
||||
- JDK: 17
|
||||
|
||||
# IOS
|
||||
|
||||
### Running the app
|
||||
|
||||
#### Prerequisites:
|
||||
- Make sure status-desktop can be built
|
||||
- Qt 5.15.2 for IOS
|
||||
- Qt 5.15.2 for IOS or Qt 6.8.3 for IOS
|
||||
- Python
|
||||
- Clone submodules
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
- Xcode
|
||||
- Ipad pro simulator
|
||||
|
||||
#### Installing qt
|
||||
```
|
||||
pip3 install -U pip
|
||||
pip3 install aqtinstall
|
||||
@@ -14,14 +43,6 @@
|
||||
|
||||
export QTDIR=${QT_INSTALL_DIR}/5.15.2/ios
|
||||
```
|
||||
- Python
|
||||
- Clone submodules
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
- Xcode
|
||||
- Ipad pro simulator
|
||||
|
||||
|
||||
#### Running the app
|
||||
```
|
||||
@@ -60,7 +81,7 @@ The application's Info.plist does not contain a valid CFBundleVersion.
|
||||
Ensure your bundle contains a valid CFBundleVersion.
|
||||
```
|
||||
|
||||
Fix: Remove `bin/IOS-build.app` and run `make run`
|
||||
Fix: Remove `bin/Status-tablet.app` and run `make run`
|
||||
|
||||
```
|
||||
Underlying error (domain=FBSOpenApplicationServiceErrorDomain, code=4):
|
||||
@@ -72,27 +93,31 @@ Fix: In the simulator app choose `Device -> Erase all content and settings`
|
||||
|
||||
#### Prerequisites:
|
||||
- Make sure status-desktop can be built
|
||||
- Qt 5.15.2 for Android
|
||||
```
|
||||
pip3 install -U pip
|
||||
pip3 install aqtinstall
|
||||
aqt install-qt mac android 5.15.2 -O ${QT_INSTALL_DIR}
|
||||
|
||||
export QTDIR=${QT_INSTALL_DIR}/5.15.2/android
|
||||
```
|
||||
|
||||
- Qt 5.15.2 for Android or qt 6.8.3 for Android
|
||||
- Clone submodules
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
- JDK 11
|
||||
- JDK 11 (17 for qt6)
|
||||
- Android sdk
|
||||
- Android NDK 21.3.6528147
|
||||
- Android NDK 21.3.6528147 (26.1.10909125 for qt6)
|
||||
- Android emulator
|
||||
- Android cmd line tools
|
||||
- Available AVD image
|
||||
|
||||
#### Installing qt
|
||||
```
|
||||
pip3 install -U pip
|
||||
pip3 install aqtinstall
|
||||
aqt install-qt mac android 5.15.2 -O ${QT_INSTALL_DIR}
|
||||
#For qt6 autodesktop flag is needed
|
||||
#The androiddeployqt is installed in the desktop distribution
|
||||
aqt install-qt mac android 6.8.3 android_arm64-v8a --autodesktop
|
||||
|
||||
export QTDIR=${QT_INSTALL_DIR}/5.15.2/android
|
||||
```
|
||||
|
||||
Note: These prerequisites can be installed with AndroidStudio
|
||||
|
||||
Or by using the command line tools
|
||||
@@ -100,7 +125,7 @@ Or by using the command line tools
|
||||
sudo apt install openjdk-11-jdk
|
||||
sudo apt install google-android-cmdline-tools-13.0-installer
|
||||
sdkmanager --update
|
||||
sdkmanager "build-tools;35.0.1" "emulator" "platform-tools" "platforms;android-33" "ndk;21.3.6528147"
|
||||
sdkmanager "build-tools;35.0.1" "emulator" "platform-tools" "platforms;android-31" "ndk;21.3.6528147"
|
||||
|
||||
# create a new AVD image. Using the template with id 70
|
||||
avdmanager create avd -n "Test_avd_x64" -k "system-images;android-Baklava;google_apis_playstore;x86_64" -d 70
|
||||
@@ -126,3 +151,4 @@ Add `setenv("QT_QUICK_BACKEND", "software", 1);` in main.cpp
|
||||
|
||||
gradle is crashing sometimes: Make sure there's enough RAM. Sometimes a restart is needed
|
||||
the compiler is sometimes crashing while compiling statusQ: Make sure at least 10GB free RAM is available
|
||||
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0"?>
|
||||
<manifest package="im.status.tablet" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
|
||||
<!-- non-dangerous permissions -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.NFC"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
|
||||
<!-- dangerous permissions -->
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="false"/>
|
||||
<application
|
||||
android:name="org.qtproject.qt5.android.bindings.QtApplication"
|
||||
android:hardwareAccelerated="true"
|
||||
android:label="@string/app_name"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:windowFullscreen="true"
|
||||
android:windowContentOverlay="@null"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:allowBackup="true"
|
||||
android:fullBackupOnly="false">
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="Status-tablet" android:screenOrientation="landscape" android:launchMode="singleTop">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
|
||||
<!-- Application arguments -->
|
||||
<!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
|
||||
<!-- Application arguments -->
|
||||
|
||||
<meta-data android:name="android.app.lib_name" android:value="Status-tablet"/>
|
||||
<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="1"/>
|
||||
|
||||
<!-- Run with local libs -->
|
||||
<meta-data android:name="android.app.use_local_qt_libs" android:value="1"/>
|
||||
<meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
|
||||
<meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
|
||||
<meta-data android:name="android.app.load_local_jars" android:value="jar/QtAndroid.jar:jar/QtAndroidBearer.jar:jar/QtAndroidWebView.jar:jar/QtAndroidGamepad.jar:jar/QtMultimedia.jar"/>
|
||||
<meta-data android:name="android.app.static_init_classes" android:value="org.qtproject.qt5.android.multimedia.QtMultimediaUtils"/>
|
||||
<!-- Used to specify custom system library path to run with local system libs -->
|
||||
<!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
|
||||
<!-- Messages maps -->
|
||||
<meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
|
||||
<meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
|
||||
<meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
|
||||
<meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
|
||||
<!-- Messages maps -->
|
||||
|
||||
<!-- Splash screen -->
|
||||
<!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
|
||||
then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
|
||||
use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
|
||||
are done populating your window with content. -->
|
||||
<!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
|
||||
<!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
|
||||
<!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
|
||||
<!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
|
||||
<!-- Splash screen -->
|
||||
|
||||
<!-- Background running -->
|
||||
<!-- Warning: changing this value to true may cause unexpected crashes if the
|
||||
application still try to draw after
|
||||
"applicationStateChanged(Qt::ApplicationSuspended)"
|
||||
signal is sent! -->
|
||||
<meta-data android:name="android.app.background_running" android:value="false"/>
|
||||
<!-- Background running -->
|
||||
|
||||
<!-- auto screen scale factor -->
|
||||
<meta-data android:name="android.app.auto_screen_scale_factor" android:value="true"/>
|
||||
<!-- auto screen scale factor -->
|
||||
|
||||
<!-- extract android style -->
|
||||
<!-- available android:values :
|
||||
* default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
|
||||
* full - useful QWidget & Quick Controls 1 apps
|
||||
* minimal - useful for Quick Controls 2 apps, it is much faster than "full"
|
||||
* none - useful for apps that don't use any of the above Qt modules
|
||||
-->
|
||||
<meta-data android:name="android.app.extract_android_style" android:value="default"/>
|
||||
<!-- extract android style -->
|
||||
</activity>
|
||||
|
||||
<!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 940 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 452 B |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 824 B |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 825 B |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 123 KiB |
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
<monochrome android:drawable="@mipmap/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
<monochrome android:drawable="@mipmap/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 737 B |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<string name="app_name">Status-tablet</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="im.status.tablet"
|
||||
android:installLocation="auto"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<!-- non-dangerous permissions -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.NFC"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
|
||||
<!-- dangerous permissions -->
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<supports-screens
|
||||
android:anyDensity="true"
|
||||
android:largeScreens="true"
|
||||
android:normalScreens="true"
|
||||
android:smallScreens="false" />
|
||||
<application
|
||||
android:name="org.qtproject.qt.android.bindings.QtApplication"
|
||||
android:hardwareAccelerated="true"
|
||||
android:label="@string/app_name"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:windowFullscreen="true"
|
||||
android:windowContentOverlay="@null"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:allowBackup="true"
|
||||
android:fullBackupOnly="false">
|
||||
<activity
|
||||
android:name="org.qtproject.qt.android.bindings.QtActivity"
|
||||
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="landscape"
|
||||
android:exported="true">
|
||||
<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="@string/app_name" />
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.arguments"
|
||||
android:value="" />
|
||||
</activity>
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.qtprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/qtprovider_paths"/>
|
||||
</provider>
|
||||
</application>
|
||||
</manifest>
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 940 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 452 B |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 824 B |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 825 B |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 123 KiB |
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
<monochrome android:drawable="@mipmap/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
<monochrome android:drawable="@mipmap/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 737 B |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 2.5 KiB |