feat: change version set mode

This commit is contained in:
rankun 2019-09-26 10:45:09 +08:00
parent 3c0cc363bb
commit 57ee84eab2
7 changed files with 63 additions and 232 deletions

133
.gitignore vendored
View file

@ -1,135 +1,12 @@
/src/QtScrcpy.pro.user
/output/mac/*
/output/linux/*
/*.user
/output
*.user
/QtScrcpy/*.user
/server/.gradle/4.6/fileChanges/last-build.bin
/server/.gradle/4.6/fileContent/fileContent.lock
/server/.gradle/4.6/fileHashes/fileHashes.bin
/server/.gradle/4.6/fileHashes/fileHashes.lock
/server/.gradle/4.6/fileHashes/resourceHashesCache.bin
/server/.gradle/4.6/javaCompile/classAnalysis.bin
/server/.gradle/4.6/javaCompile/javaCompile.lock
/server/.gradle/4.6/javaCompile/taskHistory.bin
/server/.gradle/4.6/javaCompile/taskJars.bin
/server/.gradle/4.6/taskHistory/taskHistory.bin
/server/.gradle/4.6/taskHistory/taskHistory.lock
/server/.gradle/buildOutputCleanup/buildOutputCleanup.lock
/server/.gradle/buildOutputCleanup/cache.properties
/server/.gradle/buildOutputCleanup/outputFiles.bin
/server/.gradle/vcsWorkingDirs/gc.properties
/server/.idea/caches/build_file_checksums.ser
/server/.idea/codeStyles/Project.xml
/server/.idea/gradle.xml
/server/.idea/libraries/Gradle__junit_junit_4_12_jar.xml
/server/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml
/server/.idea/misc.xml
/server/.idea/modules.xml
/server/.idea/runConfigurations.xml
/server/.idea/server.iml
/server/.idea/workspace.xml
/server/build/generated/source/aidl/debug/android/view/IRotationWatcher.java
/server/build/generated/source/buildConfig/debug/com/genymobile/scrcpy/BuildConfig.java
/server/build/generated/source/r/debug/com/genymobile/scrcpy/R.java
/server/build/intermediates/classes/debug/android/view/IRotationWatcher$Stub$Proxy.class
/server/build/intermediates/classes/debug/android/view/IRotationWatcher$Stub.class
/server/build/intermediates/classes/debug/android/view/IRotationWatcher.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/BuildConfig.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/ControlEvent.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/ControlEventReader.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/DesktopConnection.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Device$1.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Device$RotationListener.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Device.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/DisplayInfo.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/EventController.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/IO.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/KeyComposition.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Ln$Level.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Ln.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Options.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Position.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/R.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/ScreenEncoder.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/ScreenInfo.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Server$1.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Server$2.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Server.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/Size.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/wrappers/DisplayManager.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/wrappers/InputManager.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/wrappers/PowerManager.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/wrappers/ServiceManager.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/wrappers/SurfaceControl.class
/server/build/intermediates/classes/debug/com/genymobile/scrcpy/wrappers/WindowManager.class
/server/build/intermediates/incremental/compileDebugAidl/dependency.store
/server/build/intermediates/incremental/debug-mergeJavaRes/merge-state
/server/build/intermediates/incremental/debug-mergeJniLibs/merge-state
/server/build/intermediates/incremental/mergeDebugAssets/merger.xml
/server/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
/server/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
/server/build/intermediates/incremental/mergeDebugResources/merger.xml
/server/build/intermediates/incremental/mergeDebugShaders/merger.xml
/server/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
/server/build/intermediates/incremental/packageDebug/tmp/debug/file-input-save-data.txt
/server/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/FP87NbZceHS9rljl7uP+5xOlulI=
/server/build/intermediates/javaPrecompile/debug/annotationProcessors.json
/server/build/intermediates/manifests/density/debug/output.json
/server/build/intermediates/manifests/full/debug/AndroidManifest.xml
/server/build/intermediates/manifests/full/debug/output.json
/server/build/intermediates/manifests/instant-run/debug/output.json
/server/build/intermediates/res/debug/output.json
/server/build/intermediates/res/debug/resources-debug.ap_
/server/build/intermediates/splits-support/debug/apk-list/apk-list.gson
/server/build/intermediates/splits-support/debug/split-list/split-list.gson
/server/build/intermediates/transforms/dexBuilder/debug/0/android/view/IRotationWatcher$Stub$Proxy.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/android/view/IRotationWatcher$Stub.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/android/view/IRotationWatcher.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/BuildConfig.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/ControlEvent.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/ControlEventReader.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/DesktopConnection.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Device$1.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Device$RotationListener.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Device.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/DisplayInfo.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/EventController.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/IO.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/KeyComposition.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Ln$Level.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Ln.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Options.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Position.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/R.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/ScreenEncoder.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/ScreenInfo.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Server$1.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Server$2.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Server.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/Size.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/wrappers/DisplayManager.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/wrappers/InputManager.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/wrappers/PowerManager.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/wrappers/ServiceManager.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/wrappers/SurfaceControl.dex
/server/build/intermediates/transforms/dexBuilder/debug/0/com/genymobile/scrcpy/wrappers/WindowManager.dex
/server/build/intermediates/transforms/dexBuilder/debug/__content__.json
/server/build/intermediates/transforms/dexMerger/debug/0/classes.dex
/server/build/intermediates/transforms/dexMerger/debug/__content__.json
/server/build/intermediates/transforms/externalLibsDexMerger/debug/__content__.json
/server/build/intermediates/transforms/mergeJavaRes/debug/0.jar
/server/build/intermediates/transforms/mergeJavaRes/debug/__content__.json
/server/build/intermediates/transforms/mergeJniLibs/debug/__content__.json
/server/build/outputs/apk/debug/output.json
/server/build/outputs/apk/debug/server-debug.apk
/server/build/outputs/logs/manifest-merger-debug-report.txt
/server/.gradle
/server/.idea
/server/build
/server/gradle/wrapper/gradle-wrapper.jar
/server/gradle/wrapper/gradle-wrapper.properties
/server/gradlew
/server/gradlew.bat
/server/local.properties
/output/win/debug/QtScrcpy.ilk
/output/win/debug/QtScrcpy.pdb
/output/win/debug/QtScrcpy.exe
/output/win/release/QtScrcpy.exe
build

View file

@ -56,11 +56,24 @@ INCLUDEPATH += \
$$PWD/devicemanage \
$$PWD/fontawesome
# 统一版本号入口,只修改这一个地方即可
VERSION_MAJOR = 1
VERSION_MINOR = 0
VERSION_PATCH = 4
# qmake变量的方式定义版本号
VERSION = $${VERSION_MAJOR}.$${VERSION_MINOR}.$${VERSION_PATCH}
# ***********************************************************
# Win平台下配置
# ***********************************************************
win32 {
# 通过rc的方式的话VERSION变量rc中获取不到,定义为宏方便rc中使用
DEFINES += VERSION_MAJOR=$${VERSION_MAJOR}
DEFINES += VERSION_MINOR=$${VERSION_MINOR}
DEFINES += VERSION_PATCH=$${VERSION_PATCH}
DEFINES += VERSION_RC_STR=\\\"$${VERSION_MAJOR}.$${VERSION_MINOR}.$${VERSION_PATCH}\\\"
contains(QT_ARCH, x86_64) {
message("x64")
# 输出目录
@ -142,6 +155,16 @@ macos {
# mac application icon
ICON = $$PWD/res/QtScrcpy.icns
QMAKE_INFO_PLIST = $$PWD/res/Info_mac.plist
# 定义目标命令(修改版本号字段)
plistupdate.commands = /usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString $$VERSION\" \
-c \"Set :CFBundleVersion $$VERSION\" \
$$QMAKE_INFO_PLIST
# 增加额外目标
QMAKE_EXTRA_TARGETS += plistupdate
# 设置为前置依赖
PRE_TARGETDEPS += plistupdate
}
# ***********************************************************

View file

@ -25,6 +25,11 @@ int main(int argc, char *argv[])
Stream::init();
QApplication a(argc, argv);
// windows下通过qmake VERSION变量或者rc设置版本号和应用名称后这里可以直接拿到
// mac下拿到的是CFBundleVersion的值
qDebug() << a.applicationVersion();
qDebug() << a.applicationName();
installTranslator();
#if defined(Q_OS_WIN32) || defined(Q_OS_OSX)
MouseTap::getInstance()->initMouseEventTap();

View file

@ -2,73 +2,39 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>zh-Hans</string>
<key>CFBundleExecutable</key>
<string>QtScrcpy</string>
<string>@EXECUTABLE@</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<string>Created by rankun</string>
<key>CFBundleIconFile</key>
<string>QtScrcpy.icns</string>
<string>@ICON@</string>
<key>CFBundleIdentifier</key>
<string></string>
<string>rankun.QtScrcpy</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>QtScrcpy</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.2</string>
<key>CFBundleSignature</key>
<string></string>
<key>CFBundleURLTypes</key>
<string>1.0.4</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string></string>
<key>CFBundleURLSchemes</key>
<array>
<string>ctim</string>
</array>
</dict>
</array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>102</string>
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string></string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<string>1.0.4</string>
<key>LSMinimumSystemVersion</key>
<string>10.10</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSMainStoryboardFile</key>
<string>Main</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>SUAllowsAutomaticUpdates</key>
<string>NO</string>
<key>SUBundleName</key>
<string>QtScrcpy</string>
<key>SUEnableAutomaticChecks</key>
<string>YES</string>
<key>SUFeedURL</key>
<string></string>
<key>SUPublicDSAKeyFile</key>
<string></string>
<key>SUScheduledCheckInterval</key>
<string>102</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2018-2038 rankun. All rights reserved.</string>
</dict>
</plist>

View file

@ -1,13 +1,12 @@
#include "winres.h"
#include "../util/version.h"
// 图标
IDI_ICON1 ICON PRODUCT_ICON
IDI_ICON1 ICON "QtScrcpy.ico"
// 版本信息
VS_VERSION_INFO VERSIONINFO
FILEVERSION FILE_VERSION
PRODUCTVERSION PRODUCT_VERSION
FILEVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH
PRODUCTVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -22,12 +21,12 @@ BEGIN
BEGIN
BLOCK "080404b0"
BEGIN
VALUE "CompanyName", COMPANY_NAME
VALUE "CompanyName", "RanKun"
VALUE "FileDescription", "安卓实时同屏软件"
VALUE "FileVersion", FILE_VERSION_STR
VALUE "LegalCopyright", LEGAL_COPYRIGHT
VALUE "ProductName", PRODUCT_NAME
VALUE "ProductVersion", PRODUCT_VERSION_STR
VALUE "FileVersion", VERSION_RC_STR
VALUE "LegalCopyright", "Copyright (C) RanKun 2018-2038. All rights reserved."
VALUE "ProductName", "QtScrcpy"
VALUE "ProductVersion", VERSION_RC_STR
END
END
BLOCK "VarFileInfo"

View file

@ -2,8 +2,7 @@ include ($$PWD/mousetap/mousetap.pri)
HEADERS += \
$$PWD/compat.h \
$$PWD/bufferutil.h \
$$PWD/version.h
$$PWD/bufferutil.h
SOURCES += \
$$PWD/bufferutil.cpp

View file

@ -1,38 +0,0 @@
#ifndef VERSION_H
#define VERSION_H
#define PRODUCT_ICON "QtScrcpy.ico" // 图标
#define QTSCRCPY_MAJOR 1
#define QTSCRCPY_MINOR 0
#define QTSCRCPY_PATCH 3
#define QTSCRCPY_VERSION_CHK(major, minor, patch) \
(((major)<<16) | ((minor)<<8) | (patch))
// 数值形式版本号,用于版本升级判断
#define QTSCRCPY_VERSION QTSCRCPY_VERSION_CHK(QTSCRCPY_MAJOR, QTSCRCPY_MINOR, QTSCRCPY_PATCH)
#define _TOSTR(x) #x
#define TOSTR(x) _TOSTR(x)
// 字符串形式版本号,用于版本显示
/* the following are compile time version */
/* C++11 requires a space between literal and identifier */
#define QTSCRCPY_VERSION_STR TOSTR(QTSCRCPY_MAJOR) "." TOSTR(QTSCRCPY_MINOR) "." TOSTR(QTSCRCPY_PATCH)
// rc形式版本号用于windos rc文件中指定版本号
#define QTSCRCPY_VERSION_RES QTSCRCPY_MAJOR,QTSCRCPY_MINOR,QTSCRCPY_PATCH
// windos rc相关定义
#define FILE_VERSION QTSCRCPY_VERSION_RES // 文件版本
#define FILE_VERSION_STR QTSCRCPY_VERSION_STR
#define PRODUCT_VERSION QTSCRCPY_VERSION_RES // 产品版本
#define PRODUCT_VERSION_STR QTSCRCPY_VERSION_STR
#define COMPANY_NAME "RanKun"
#define FILE_DESCRIPTION "android real time projection software" // 文件说明
#define LEGAL_COPYRIGHT "Copyright (C) RanKun 2018-2028. All rights reserved." // 版权
#define PRODUCT_NAME "QtScrcpy" // 产品名称
#endif // VERSION_H