Compare commits
80 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2b99554e02 | |||
| 37340dd3e9 | |||
| 6a22b1c170 | |||
| 951f41d57e | |||
| 33be2db48f | |||
| 1d7bd94908 | |||
|
|
ee49dcb19e | ||
| ea813fcc37 | |||
|
|
2485438303 | ||
|
|
b5e7884913 | ||
|
|
cee4ab77e2 | ||
|
|
efacc353d7 | ||
|
|
144c030036 | ||
| b028bbd8fa | |||
| a5a06377a2 | |||
| 041f5bda39 | |||
| ab3693c90a | |||
| a7595ff304 | |||
| 777ff39f69 | |||
|
|
ccfdf94342 | ||
| 70c687d862 | |||
|
|
07d89f2605 | ||
|
|
501028ea30 | ||
|
|
fed7271ff4 | ||
| 34c3cd31d1 | |||
| 1357a1be41 | |||
| 474babff87 | |||
| daa42d637c | |||
| 97b05ea056 | |||
| a9954f611b | |||
|
|
76d850b318 | ||
| 120041c2da | |||
|
|
3a617e1bf3 | ||
| 107a5c4396 | |||
|
|
56eaff9dfb | ||
| eb67bbd445 | |||
| 05eefcfe9b | |||
| 531690fa4a | |||
| c00c51e69c | |||
| 6e39f85da2 | |||
| 98a3d12937 | |||
| e49395a2fa | |||
| 8f6bee1346 | |||
| 00176f9919 | |||
| 8678f122e1 | |||
| ae6c233239 | |||
| 6bf4202cc2 | |||
| 88ca313779 | |||
| 27c39d96a9 | |||
| b34877538a | |||
| eb44817201 | |||
| 7f18273cca | |||
| d3970b8b28 | |||
| 293b382e9b | |||
| c3800a2514 | |||
| 6b42f7eef6 | |||
| a6baf834c7 | |||
| 3f9aa55d8d | |||
| 9660c8fb72 | |||
| acaa13e8ae | |||
| 176025a3c5 | |||
| 8fb872d8ec | |||
| 79674c1c2f | |||
| b7f01d0ff6 | |||
| c030ab2c16 | |||
| 8747f69065 | |||
| b851b12a62 | |||
| da0db9b0fb | |||
| 22d1f1ab87 | |||
| 4a5d060c43 | |||
| d5b37e3951 | |||
| ed2155b83e | |||
| 05d977030c | |||
| c77bbceeb2 | |||
| 7f36a1ff3c | |||
| d68f42c368 | |||
| c9a3db2f37 | |||
| 677ff4c16b | |||
| 65eaf17d85 | |||
| 72cf1e0881 |
0
.idea/.gitignore
generated
vendored
Normal file → Executable file
0
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file → Executable file
2
.idea/misc.xml
generated
Normal file → Executable file
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (uengine-runner)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
||||||
0
.idea/modules.xml
generated
Normal file → Executable file
0
.idea/uengine-install.iml
generated
Normal file → Executable file
1
.idea/vcs.xml
generated
Normal file → Executable file
@@ -2,5 +2,6 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/Internet/random-questions/Question" vcs="Git" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
BIN
1/a78482dagy1h1boqumoo7j20jh0xctb6.jpg
Executable file
|
After Width: | Height: | Size: 99 KiB |
BIN
1/我好命苦.png
Executable file
|
After Width: | Height: | Size: 513 KiB |
BIN
1/气死我了.png
Executable file
|
After Width: | Height: | Size: 870 KiB |
45
Android X86/AXVM/AXVM.pro
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
#-------------------------------------------------
|
||||||
|
#
|
||||||
|
# Project created by QtCreator 2022-08-03T09:18:28
|
||||||
|
#
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
QT += core gui network
|
||||||
|
|
||||||
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
|
TARGET = AXVM
|
||||||
|
TEMPLATE = app
|
||||||
|
|
||||||
|
# The following define makes your compiler emit warnings if you use
|
||||||
|
# any feature of Qt which has been marked as deprecated (the exact warnings
|
||||||
|
# depend on your compiler). Please consult the documentation of the
|
||||||
|
# deprecated API in order to know how to port your code away from it.
|
||||||
|
DEFINES += QT_DEPRECATED_WARNINGS
|
||||||
|
|
||||||
|
# You can also make your code fail to compile if you use deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
|
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
|
CONFIG += c++11
|
||||||
|
CONFIG += console
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
main.cpp \
|
||||||
|
mainwindow.cpp \
|
||||||
|
downloadthread.cpp \
|
||||||
|
getipserver.cpp
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
mainwindow.h \
|
||||||
|
downloadthread.h \
|
||||||
|
getipserver.h
|
||||||
|
|
||||||
|
FORMS += \
|
||||||
|
mainwindow.ui
|
||||||
|
|
||||||
|
# Default rules for deployment.
|
||||||
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||||
|
!isEmpty(target.path): INSTALLS += target
|
||||||
327
Android X86/AXVM/AXVM.pro.user
Normal file
@@ -0,0 +1,327 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 4.8.2, 2022-08-03T22:58:44. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{e6fddbe7-fcb3-41be-bb11-3a30892600b9}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="int">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||||
|
<value type="QString" key="language">Cpp</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||||
|
<value type="QString" key="language">QmlJS</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||||
|
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||||
|
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b6becee2-04dc-4df3-9a41-75e9b60eccc8}</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/uengine-runner/Android X86/build-AXVM-unknown-Debug</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/uengine-runner/Android X86/build-AXVM-unknown-Release</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/uengine-runner/Android X86/build-AXVM-unknown-Profile</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||||
|
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||||
|
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||||
|
<value type="int">0</value>
|
||||||
|
<value type="int">1</value>
|
||||||
|
<value type="int">2</value>
|
||||||
|
<value type="int">3</value>
|
||||||
|
<value type="int">4</value>
|
||||||
|
<value type="int">5</value>
|
||||||
|
<value type="int">6</value>
|
||||||
|
<value type="int">7</value>
|
||||||
|
<value type="int">8</value>
|
||||||
|
<value type="int">9</value>
|
||||||
|
<value type="int">10</value>
|
||||||
|
<value type="int">11</value>
|
||||||
|
<value type="int">12</value>
|
||||||
|
<value type="int">13</value>
|
||||||
|
<value type="int">14</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">AXVM</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/gfdgd_xi/Desktop/uengine-runner/Android X86/AXVM/AXVM.pro</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">AXVM.pro</value>
|
||||||
|
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||||
|
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseTerminal">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/uengine-runner/Android X86/build-AXVM-unknown-Debug</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="int">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
|
<value type="int">20</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">20</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
||||||
24
Android X86/AXVM/build/.qmake.stash
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
|
||||||
|
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 8
|
||||||
|
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
|
||||||
|
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
|
||||||
|
QMAKE_CXX.COMPILER_MACROS = \
|
||||||
|
QT_COMPILER_STDCXX \
|
||||||
|
QMAKE_GCC_MAJOR_VERSION \
|
||||||
|
QMAKE_GCC_MINOR_VERSION \
|
||||||
|
QMAKE_GCC_PATCH_VERSION
|
||||||
|
QMAKE_CXX.INCDIRS = \
|
||||||
|
/usr/include/c++/8 \
|
||||||
|
/usr/include/x86_64-linux-gnu/c++/8 \
|
||||||
|
/usr/include/c++/8/backward \
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/8/include \
|
||||||
|
/usr/local/include \
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed \
|
||||||
|
/usr/include/x86_64-linux-gnu \
|
||||||
|
/usr/include
|
||||||
|
QMAKE_CXX.LIBDIRS = \
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/8 \
|
||||||
|
/usr/lib/x86_64-linux-gnu \
|
||||||
|
/usr/lib \
|
||||||
|
/lib/x86_64-linux-gnu \
|
||||||
|
/lib
|
||||||
BIN
Android X86/AXVM/build/AXVM
Executable file
516
Android X86/AXVM/build/Makefile
Normal file
@@ -0,0 +1,516 @@
|
|||||||
|
#############################################################################
|
||||||
|
# Makefile for building: AXVM
|
||||||
|
# Generated by qmake (3.1) (Qt 5.15.3)
|
||||||
|
# Project: ../AXVM.pro
|
||||||
|
# Template: app
|
||||||
|
# Command: /usr/lib/qt5/bin/qmake -o Makefile ../AXVM.pro
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
MAKEFILE = Makefile
|
||||||
|
|
||||||
|
EQ = =
|
||||||
|
|
||||||
|
####### Compiler, tools and options
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
DEFINES = -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
|
||||||
|
CFLAGS = -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
|
||||||
|
CXXFLAGS = -pipe -O2 -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
|
||||||
|
INCPATH = -I../../AXVM -I. -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
|
||||||
|
QMAKE = /usr/lib/qt5/bin/qmake
|
||||||
|
DEL_FILE = rm -f
|
||||||
|
CHK_DIR_EXISTS= test -d
|
||||||
|
MKDIR = mkdir -p
|
||||||
|
COPY = cp -f
|
||||||
|
COPY_FILE = cp -f
|
||||||
|
COPY_DIR = cp -f -R
|
||||||
|
INSTALL_FILE = install -m 644 -p
|
||||||
|
INSTALL_PROGRAM = install -m 755 -p
|
||||||
|
INSTALL_DIR = cp -f -R
|
||||||
|
QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall
|
||||||
|
QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe
|
||||||
|
DEL_FILE = rm -f
|
||||||
|
SYMLINK = ln -f -s
|
||||||
|
DEL_DIR = rmdir
|
||||||
|
MOVE = mv -f
|
||||||
|
TAR = tar -cf
|
||||||
|
COMPRESS = gzip -9f
|
||||||
|
DISTNAME = AXVM1.0.0
|
||||||
|
DISTDIR = /home/gfdgd_xi/Desktop/uengine-runner/Android\ X86/AXVM/build/.tmp/AXVM1.0.0
|
||||||
|
LINK = g++
|
||||||
|
LFLAGS = -Wl,-O1
|
||||||
|
LIBS = $(SUBLIBS) /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5Core.so -lGL -lpthread
|
||||||
|
AR = ar cqs
|
||||||
|
RANLIB =
|
||||||
|
SED = sed
|
||||||
|
STRIP = strip
|
||||||
|
|
||||||
|
####### Output directory
|
||||||
|
|
||||||
|
OBJECTS_DIR = ./
|
||||||
|
|
||||||
|
####### Files
|
||||||
|
|
||||||
|
SOURCES = ../main.cpp \
|
||||||
|
../mainwindow.cpp \
|
||||||
|
../downloadthread.cpp \
|
||||||
|
../getipserver.cpp moc_mainwindow.cpp
|
||||||
|
OBJECTS = main.o \
|
||||||
|
mainwindow.o \
|
||||||
|
downloadthread.o \
|
||||||
|
getipserver.o \
|
||||||
|
moc_mainwindow.o
|
||||||
|
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcommon.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwidget.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwm.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_packetprotocol_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickparticles_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickshapes_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||||
|
../.qmake.stash \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||||
|
../../AXVM.pro ../mainwindow.h \
|
||||||
|
../downloadthread.h \
|
||||||
|
../getipserver.h ../main.cpp \
|
||||||
|
../mainwindow.cpp \
|
||||||
|
../downloadthread.cpp \
|
||||||
|
../getipserver.cpp
|
||||||
|
QMAKE_TARGET = AXVM
|
||||||
|
DESTDIR =
|
||||||
|
TARGET = AXVM
|
||||||
|
|
||||||
|
|
||||||
|
first: all
|
||||||
|
####### Build rules
|
||||||
|
|
||||||
|
AXVM: ui_mainwindow.h $(OBJECTS)
|
||||||
|
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
|
||||||
|
|
||||||
|
Makefile: ../AXVM.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcommon.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwidget.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwm.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_packetprotocol_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickparticles_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickshapes_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||||
|
.qmake.stash \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources_functions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||||
|
../AXVM.pro
|
||||||
|
$(QMAKE) -o Makefile ../AXVM.pro
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcommon.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwidget.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwm.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_packetprotocol_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickcontrols2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickparticles_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickshapes_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quicktemplates2.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf:
|
||||||
|
.qmake.stash:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources_functions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
|
||||||
|
../AXVM.pro:
|
||||||
|
qmake: FORCE
|
||||||
|
@$(QMAKE) -o Makefile ../AXVM.pro
|
||||||
|
|
||||||
|
qmake_all: FORCE
|
||||||
|
|
||||||
|
|
||||||
|
all: Makefile AXVM
|
||||||
|
|
||||||
|
dist: distdir FORCE
|
||||||
|
(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
|
||||||
|
|
||||||
|
distdir: FORCE
|
||||||
|
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||||
|
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||||
|
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
||||||
|
$(COPY_FILE) --parents ../mainwindow.h ../downloadthread.h ../getipserver.h $(DISTDIR)/
|
||||||
|
$(COPY_FILE) --parents ../main.cpp ../mainwindow.cpp ../downloadthread.cpp ../getipserver.cpp $(DISTDIR)/
|
||||||
|
$(COPY_FILE) --parents ../mainwindow.ui $(DISTDIR)/
|
||||||
|
|
||||||
|
|
||||||
|
clean: compiler_clean
|
||||||
|
-$(DEL_FILE) $(OBJECTS)
|
||||||
|
-$(DEL_FILE) *~ core *.core
|
||||||
|
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
-$(DEL_FILE) $(TARGET)
|
||||||
|
-$(DEL_FILE) .qmake.stash
|
||||||
|
-$(DEL_FILE) Makefile
|
||||||
|
|
||||||
|
|
||||||
|
####### Sub-libraries
|
||||||
|
|
||||||
|
mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
|
||||||
|
|
||||||
|
mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
|
||||||
|
|
||||||
|
check: first
|
||||||
|
|
||||||
|
benchmark: first
|
||||||
|
|
||||||
|
compiler_rcc_make_all:
|
||||||
|
compiler_rcc_clean:
|
||||||
|
compiler_moc_predefs_make_all: moc_predefs.h
|
||||||
|
compiler_moc_predefs_clean:
|
||||||
|
-$(DEL_FILE) moc_predefs.h
|
||||||
|
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||||
|
g++ -pipe -O2 -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||||
|
|
||||||
|
compiler_moc_header_make_all: moc_mainwindow.cpp
|
||||||
|
compiler_moc_header_clean:
|
||||||
|
-$(DEL_FILE) moc_mainwindow.cpp
|
||||||
|
moc_mainwindow.cpp: ../mainwindow.h \
|
||||||
|
../downloadthread.h \
|
||||||
|
moc_predefs.h \
|
||||||
|
/usr/lib/qt5/bin/moc
|
||||||
|
/usr/lib/qt5/bin/moc $(DEFINES) --include '/home/gfdgd_xi/Desktop/uengine-runner/Android X86/AXVM/build/moc_predefs.h' -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I'/home/gfdgd_xi/Desktop/uengine-runner/Android X86/AXVM' -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include ../mainwindow.h -o moc_mainwindow.cpp
|
||||||
|
|
||||||
|
compiler_moc_objc_header_make_all:
|
||||||
|
compiler_moc_objc_header_clean:
|
||||||
|
compiler_moc_source_make_all:
|
||||||
|
compiler_moc_source_clean:
|
||||||
|
compiler_uic_make_all: ui_mainwindow.h
|
||||||
|
compiler_uic_clean:
|
||||||
|
-$(DEL_FILE) ui_mainwindow.h
|
||||||
|
ui_mainwindow.h: ../mainwindow.ui \
|
||||||
|
/usr/lib/qt5/bin/uic
|
||||||
|
/usr/lib/qt5/bin/uic ../mainwindow.ui -o ui_mainwindow.h
|
||||||
|
|
||||||
|
compiler_yacc_decl_make_all:
|
||||||
|
compiler_yacc_decl_clean:
|
||||||
|
compiler_yacc_impl_make_all:
|
||||||
|
compiler_yacc_impl_clean:
|
||||||
|
compiler_lex_make_all:
|
||||||
|
compiler_lex_clean:
|
||||||
|
compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean compiler_uic_clean
|
||||||
|
|
||||||
|
####### Compile
|
||||||
|
|
||||||
|
main.o: ../main.cpp ../mainwindow.h \
|
||||||
|
../downloadthread.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../main.cpp
|
||||||
|
|
||||||
|
mainwindow.o: ../mainwindow.cpp ../mainwindow.h \
|
||||||
|
../downloadthread.h \
|
||||||
|
ui_mainwindow.h \
|
||||||
|
../getipserver.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o ../mainwindow.cpp
|
||||||
|
|
||||||
|
downloadthread.o: ../downloadthread.cpp ../downloadthread.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadthread.o ../downloadthread.cpp
|
||||||
|
|
||||||
|
getipserver.o: ../getipserver.cpp ../getipserver.h \
|
||||||
|
../mainwindow.h \
|
||||||
|
../downloadthread.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o getipserver.o ../getipserver.cpp
|
||||||
|
|
||||||
|
moc_mainwindow.o: moc_mainwindow.cpp
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
|
||||||
|
|
||||||
|
####### Install
|
||||||
|
|
||||||
|
install_target: first FORCE
|
||||||
|
@test -d $(INSTALL_ROOT)/opt/AXVM/bin || mkdir -p $(INSTALL_ROOT)/opt/AXVM/bin
|
||||||
|
$(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/opt/AXVM/bin/$(QMAKE_TARGET)
|
||||||
|
-$(STRIP) $(INSTALL_ROOT)/opt/AXVM/bin/$(QMAKE_TARGET)
|
||||||
|
|
||||||
|
uninstall_target: FORCE
|
||||||
|
-$(DEL_FILE) $(INSTALL_ROOT)/opt/AXVM/bin/$(QMAKE_TARGET)
|
||||||
|
-$(DEL_DIR) $(INSTALL_ROOT)/opt/AXVM/bin/
|
||||||
|
|
||||||
|
|
||||||
|
install: install_target FORCE
|
||||||
|
|
||||||
|
uninstall: uninstall_target FORCE
|
||||||
|
|
||||||
|
FORCE:
|
||||||
|
|
||||||
BIN
Android X86/AXVM/build/downloadthread.o
Normal file
BIN
Android X86/AXVM/build/main.o
Normal file
124
Android X86/AXVM/build/moc_mainwindow.cpp
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
** Meta object code from reading C++ file 'mainwindow.h'
|
||||||
|
**
|
||||||
|
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3)
|
||||||
|
**
|
||||||
|
** WARNING! All changes made in this file will be lost!
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include "../mainwindow.h"
|
||||||
|
#include <QtCore/qbytearray.h>
|
||||||
|
#include <QtCore/qmetatype.h>
|
||||||
|
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||||
|
#error "The header file 'mainwindow.h' doesn't include <QObject>."
|
||||||
|
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||||
|
#error "This file was generated using the moc from 5.15.3. It"
|
||||||
|
#error "cannot be used with the include files from this version of Qt."
|
||||||
|
#error "(The moc has changed too much.)"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
QT_BEGIN_MOC_NAMESPACE
|
||||||
|
QT_WARNING_PUSH
|
||||||
|
QT_WARNING_DISABLE_DEPRECATED
|
||||||
|
struct qt_meta_stringdata_MainWindow_t {
|
||||||
|
QByteArrayData data[4];
|
||||||
|
char stringdata0[48];
|
||||||
|
};
|
||||||
|
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||||
|
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||||
|
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
|
||||||
|
- idx * sizeof(QByteArrayData)) \
|
||||||
|
)
|
||||||
|
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
|
||||||
|
{
|
||||||
|
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
|
||||||
|
QT_MOC_LITERAL(1, 11, 23), // "on_pushButton_2_clicked"
|
||||||
|
QT_MOC_LITERAL(2, 35, 0), // ""
|
||||||
|
QT_MOC_LITERAL(3, 36, 11) // "ChangeValue"
|
||||||
|
|
||||||
|
},
|
||||||
|
"MainWindow\0on_pushButton_2_clicked\0\0"
|
||||||
|
"ChangeValue"
|
||||||
|
};
|
||||||
|
#undef QT_MOC_LITERAL
|
||||||
|
|
||||||
|
static const uint qt_meta_data_MainWindow[] = {
|
||||||
|
|
||||||
|
// content:
|
||||||
|
8, // revision
|
||||||
|
0, // classname
|
||||||
|
0, 0, // classinfo
|
||||||
|
2, 14, // methods
|
||||||
|
0, 0, // properties
|
||||||
|
0, 0, // enums/sets
|
||||||
|
0, 0, // constructors
|
||||||
|
0, // flags
|
||||||
|
0, // signalCount
|
||||||
|
|
||||||
|
// slots: name, argc, parameters, tag, flags
|
||||||
|
1, 0, 24, 2, 0x08 /* Private */,
|
||||||
|
3, 0, 25, 2, 0x08 /* Private */,
|
||||||
|
|
||||||
|
// slots: parameters
|
||||||
|
QMetaType::Void,
|
||||||
|
QMetaType::Void,
|
||||||
|
|
||||||
|
0 // eod
|
||||||
|
};
|
||||||
|
|
||||||
|
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||||
|
{
|
||||||
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||||
|
auto *_t = static_cast<MainWindow *>(_o);
|
||||||
|
(void)_t;
|
||||||
|
switch (_id) {
|
||||||
|
case 0: _t->on_pushButton_2_clicked(); break;
|
||||||
|
case 1: _t->ChangeValue(); break;
|
||||||
|
default: ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
(void)_a;
|
||||||
|
}
|
||||||
|
|
||||||
|
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
|
||||||
|
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
|
||||||
|
qt_meta_stringdata_MainWindow.data,
|
||||||
|
qt_meta_data_MainWindow,
|
||||||
|
qt_static_metacall,
|
||||||
|
nullptr,
|
||||||
|
nullptr
|
||||||
|
} };
|
||||||
|
|
||||||
|
|
||||||
|
const QMetaObject *MainWindow::metaObject() const
|
||||||
|
{
|
||||||
|
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
void *MainWindow::qt_metacast(const char *_clname)
|
||||||
|
{
|
||||||
|
if (!_clname) return nullptr;
|
||||||
|
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
|
||||||
|
return static_cast<void*>(this);
|
||||||
|
return QMainWindow::qt_metacast(_clname);
|
||||||
|
}
|
||||||
|
|
||||||
|
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||||
|
{
|
||||||
|
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||||
|
if (_id < 0)
|
||||||
|
return _id;
|
||||||
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||||
|
if (_id < 2)
|
||||||
|
qt_static_metacall(this, _c, _id, _a);
|
||||||
|
_id -= 2;
|
||||||
|
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||||
|
if (_id < 2)
|
||||||
|
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||||
|
_id -= 2;
|
||||||
|
}
|
||||||
|
return _id;
|
||||||
|
}
|
||||||
|
QT_WARNING_POP
|
||||||
|
QT_END_MOC_NAMESPACE
|
||||||
BIN
Android X86/AXVM/build/moc_mainwindow.o
Normal file
375
Android X86/AXVM/build/moc_predefs.h
Normal file
@@ -0,0 +1,375 @@
|
|||||||
|
#define __DBL_MIN_EXP__ (-1021)
|
||||||
|
#define __FLT32X_MAX_EXP__ 1024
|
||||||
|
#define __cpp_attributes 200809
|
||||||
|
#define __UINT_LEAST16_MAX__ 0xffff
|
||||||
|
#define __ATOMIC_ACQUIRE 2
|
||||||
|
#define __FLT128_MAX_10_EXP__ 4932
|
||||||
|
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
|
||||||
|
#define __GCC_IEC_559_COMPLEX 2
|
||||||
|
#define __UINT_LEAST8_TYPE__ unsigned char
|
||||||
|
#define __SIZEOF_FLOAT80__ 16
|
||||||
|
#define __INTMAX_C(c) c ## L
|
||||||
|
#define __CHAR_BIT__ 8
|
||||||
|
#define __UINT8_MAX__ 0xff
|
||||||
|
#define __WINT_MAX__ 0xffffffffU
|
||||||
|
#define __FLT32_MIN_EXP__ (-125)
|
||||||
|
#define __cpp_static_assert 200410
|
||||||
|
#define __ORDER_LITTLE_ENDIAN__ 1234
|
||||||
|
#define __SIZE_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __WCHAR_MAX__ 0x7fffffff
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
||||||
|
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
||||||
|
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
|
||||||
|
#define __GCC_IEC_559 2
|
||||||
|
#define __FLT32X_DECIMAL_DIG__ 17
|
||||||
|
#define __FLT_EVAL_METHOD__ 0
|
||||||
|
#define __unix__ 1
|
||||||
|
#define __cpp_binary_literals 201304
|
||||||
|
#define __FLT64_DECIMAL_DIG__ 17
|
||||||
|
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||||
|
#define __x86_64 1
|
||||||
|
#define __cpp_variadic_templates 200704
|
||||||
|
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __SIG_ATOMIC_TYPE__ int
|
||||||
|
#define __DBL_MIN_10_EXP__ (-307)
|
||||||
|
#define __FINITE_MATH_ONLY__ 0
|
||||||
|
#define __GNUC_PATCHLEVEL__ 0
|
||||||
|
#define __FLT32_HAS_DENORM__ 1
|
||||||
|
#define __UINT_FAST8_MAX__ 0xff
|
||||||
|
#define __has_include(STR) __has_include__(STR)
|
||||||
|
#define __DEC64_MAX_EXP__ 385
|
||||||
|
#define __INT8_C(c) c
|
||||||
|
#define __INT_LEAST8_WIDTH__ 8
|
||||||
|
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __SHRT_MAX__ 0x7fff
|
||||||
|
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
|
||||||
|
#define __FLT64X_MAX_10_EXP__ 4932
|
||||||
|
#define __UINT_LEAST8_MAX__ 0xff
|
||||||
|
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
|
||||||
|
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
|
||||||
|
#define __UINTMAX_TYPE__ long unsigned int
|
||||||
|
#define __linux 1
|
||||||
|
#define __DEC32_EPSILON__ 1E-6DF
|
||||||
|
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
|
||||||
|
#define __OPTIMIZE__ 1
|
||||||
|
#define __unix 1
|
||||||
|
#define __UINT32_MAX__ 0xffffffffU
|
||||||
|
#define __GXX_EXPERIMENTAL_CXX0X__ 1
|
||||||
|
#define __LDBL_MAX_EXP__ 16384
|
||||||
|
#define __FLT128_MIN_EXP__ (-16381)
|
||||||
|
#define __WINT_MIN__ 0U
|
||||||
|
#define __linux__ 1
|
||||||
|
#define __FLT128_MIN_10_EXP__ (-4931)
|
||||||
|
#define __INT_LEAST16_WIDTH__ 16
|
||||||
|
#define __SCHAR_MAX__ 0x7f
|
||||||
|
#define __FLT128_MANT_DIG__ 113
|
||||||
|
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
|
||||||
|
#define __INT64_C(c) c ## L
|
||||||
|
#define __DBL_DIG__ 15
|
||||||
|
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
|
||||||
|
#define __FLT64X_MANT_DIG__ 64
|
||||||
|
#define __SIZEOF_INT__ 4
|
||||||
|
#define __SIZEOF_POINTER__ 8
|
||||||
|
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||||
|
#define __USER_LABEL_PREFIX__
|
||||||
|
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
|
||||||
|
#define __STDC_HOSTED__ 1
|
||||||
|
#define __LDBL_HAS_INFINITY__ 1
|
||||||
|
#define __FLT32_DIG__ 6
|
||||||
|
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
|
||||||
|
#define __GXX_WEAK__ 1
|
||||||
|
#define __SHRT_WIDTH__ 16
|
||||||
|
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
|
||||||
|
#define __DEC32_MAX__ 9.999999E96DF
|
||||||
|
#define __cpp_threadsafe_static_init 200806
|
||||||
|
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
|
||||||
|
#define __FLT32X_HAS_INFINITY__ 1
|
||||||
|
#define __INT32_MAX__ 0x7fffffff
|
||||||
|
#define __INT_WIDTH__ 32
|
||||||
|
#define __SIZEOF_LONG__ 8
|
||||||
|
#define __STDC_IEC_559__ 1
|
||||||
|
#define __STDC_ISO_10646__ 201706L
|
||||||
|
#define __UINT16_C(c) c
|
||||||
|
#define __PTRDIFF_WIDTH__ 64
|
||||||
|
#define __DECIMAL_DIG__ 21
|
||||||
|
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
|
||||||
|
#define __gnu_linux__ 1
|
||||||
|
#define __INTMAX_WIDTH__ 64
|
||||||
|
#define __FLT64_MIN_EXP__ (-1021)
|
||||||
|
#define __has_include_next(STR) __has_include_next__(STR)
|
||||||
|
#define __FLT64X_MIN_10_EXP__ (-4931)
|
||||||
|
#define __LDBL_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT64_MANT_DIG__ 53
|
||||||
|
#define __GNUC__ 8
|
||||||
|
#define __GXX_RTTI 1
|
||||||
|
#define __MMX__ 1
|
||||||
|
#define __cpp_delegating_constructors 200604
|
||||||
|
#define __FLT_HAS_DENORM__ 1
|
||||||
|
#define __SIZEOF_LONG_DOUBLE__ 16
|
||||||
|
#define __BIGGEST_ALIGNMENT__ 16
|
||||||
|
#define __STDC_UTF_16__ 1
|
||||||
|
#define __FLT64_MAX_10_EXP__ 308
|
||||||
|
#define __FLT32_HAS_INFINITY__ 1
|
||||||
|
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
|
||||||
|
#define __cpp_raw_strings 200710
|
||||||
|
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __DBL_HAS_INFINITY__ 1
|
||||||
|
#define __DEC32_MIN_EXP__ (-94)
|
||||||
|
#define __INTPTR_WIDTH__ 64
|
||||||
|
#define __FLT32X_HAS_DENORM__ 1
|
||||||
|
#define __INT_FAST16_TYPE__ long int
|
||||||
|
#define __LDBL_HAS_DENORM__ 1
|
||||||
|
#define __cplusplus 201103L
|
||||||
|
#define __cpp_ref_qualifiers 200710
|
||||||
|
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
|
||||||
|
#define __INT_LEAST32_MAX__ 0x7fffffff
|
||||||
|
#define __DEC32_MIN__ 1E-95DF
|
||||||
|
#define __DEPRECATED 1
|
||||||
|
#define __cpp_rvalue_references 200610
|
||||||
|
#define __DBL_MAX_EXP__ 1024
|
||||||
|
#define __WCHAR_WIDTH__ 32
|
||||||
|
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|
||||||
|
#define __DEC128_EPSILON__ 1E-33DL
|
||||||
|
#define __SSE2_MATH__ 1
|
||||||
|
#define __ATOMIC_HLE_RELEASE 131072
|
||||||
|
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __amd64 1
|
||||||
|
#define __ATOMIC_HLE_ACQUIRE 65536
|
||||||
|
#define __FLT32_HAS_QUIET_NAN__ 1
|
||||||
|
#define __GNUG__ 8
|
||||||
|
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
|
||||||
|
#define __SIZEOF_SIZE_T__ 8
|
||||||
|
#define __cpp_rvalue_reference 200610
|
||||||
|
#define __cpp_nsdmi 200809
|
||||||
|
#define __FLT64X_MIN_EXP__ (-16381)
|
||||||
|
#define __SIZEOF_WINT_T__ 4
|
||||||
|
#define __LONG_LONG_WIDTH__ 64
|
||||||
|
#define __cpp_initializer_lists 200806
|
||||||
|
#define __FLT32_MAX_EXP__ 128
|
||||||
|
#define __cpp_hex_float 201603
|
||||||
|
#define __GCC_HAVE_DWARF2_CFI_ASM 1
|
||||||
|
#define __GXX_ABI_VERSION 1013
|
||||||
|
#define __FLT128_HAS_INFINITY__ 1
|
||||||
|
#define __FLT_MIN_EXP__ (-125)
|
||||||
|
#define __cpp_lambdas 200907
|
||||||
|
#define __FLT64X_HAS_QUIET_NAN__ 1
|
||||||
|
#define __INT_FAST64_TYPE__ long int
|
||||||
|
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
|
||||||
|
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
|
||||||
|
#define __LP64__ 1
|
||||||
|
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
|
||||||
|
#define __DECIMAL_BID_FORMAT__ 1
|
||||||
|
#define __FLT64_MIN_10_EXP__ (-307)
|
||||||
|
#define __FLT64X_DECIMAL_DIG__ 21
|
||||||
|
#define __DEC128_MIN__ 1E-6143DL
|
||||||
|
#define __REGISTER_PREFIX__
|
||||||
|
#define __UINT16_MAX__ 0xffff
|
||||||
|
#define __DBL_HAS_DENORM__ 1
|
||||||
|
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|
||||||
|
#define __UINT8_TYPE__ unsigned char
|
||||||
|
#define __FLT_MANT_DIG__ 24
|
||||||
|
#define __LDBL_DECIMAL_DIG__ 21
|
||||||
|
#define __VERSION__ "8.3.0"
|
||||||
|
#define __UINT64_C(c) c ## UL
|
||||||
|
#define __cpp_unicode_characters 200704
|
||||||
|
#define _STDC_PREDEF_H 1
|
||||||
|
#define __GCC_ATOMIC_INT_LOCK_FREE 2
|
||||||
|
#define __FLT128_MAX_EXP__ 16384
|
||||||
|
#define __FLT32_MANT_DIG__ 24
|
||||||
|
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||||
|
#define __STDC_IEC_559_COMPLEX__ 1
|
||||||
|
#define __FLT128_HAS_DENORM__ 1
|
||||||
|
#define __FLT128_DIG__ 33
|
||||||
|
#define __SCHAR_WIDTH__ 8
|
||||||
|
#define __INT32_C(c) c
|
||||||
|
#define __DEC64_EPSILON__ 1E-15DD
|
||||||
|
#define __ORDER_PDP_ENDIAN__ 3412
|
||||||
|
#define __DEC128_MIN_EXP__ (-6142)
|
||||||
|
#define __FLT32_MAX_10_EXP__ 38
|
||||||
|
#define __INT_FAST32_TYPE__ long int
|
||||||
|
#define __UINT_LEAST16_TYPE__ short unsigned int
|
||||||
|
#define __FLT64X_HAS_INFINITY__ 1
|
||||||
|
#define unix 1
|
||||||
|
#define __INT16_MAX__ 0x7fff
|
||||||
|
#define __cpp_rtti 199711
|
||||||
|
#define __SIZE_TYPE__ long unsigned int
|
||||||
|
#define __UINT64_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __FLT64X_DIG__ 18
|
||||||
|
#define __INT8_TYPE__ signed char
|
||||||
|
#define __ELF__ 1
|
||||||
|
#define __GCC_ASM_FLAG_OUTPUTS__ 1
|
||||||
|
#define __FLT_RADIX__ 2
|
||||||
|
#define __INT_LEAST16_TYPE__ short int
|
||||||
|
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
|
||||||
|
#define __UINTMAX_C(c) c ## UL
|
||||||
|
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||||
|
#define __k8 1
|
||||||
|
#define __SIG_ATOMIC_MAX__ 0x7fffffff
|
||||||
|
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||||
|
#define __SIZEOF_PTRDIFF_T__ 8
|
||||||
|
#define __FLT32X_MANT_DIG__ 53
|
||||||
|
#define __x86_64__ 1
|
||||||
|
#define __FLT32X_MIN_EXP__ (-1021)
|
||||||
|
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
|
||||||
|
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __FLT64_DIG__ 15
|
||||||
|
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __UINT_LEAST64_TYPE__ long unsigned int
|
||||||
|
#define __FLT_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT_MAX_10_EXP__ 38
|
||||||
|
#define __LONG_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __FLT64X_HAS_DENORM__ 1
|
||||||
|
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
|
||||||
|
#define __FLT_HAS_INFINITY__ 1
|
||||||
|
#define __cpp_unicode_literals 200710
|
||||||
|
#define __UINT_FAST16_TYPE__ long unsigned int
|
||||||
|
#define __DEC64_MAX__ 9.999999999999999E384DD
|
||||||
|
#define __INT_FAST32_WIDTH__ 64
|
||||||
|
#define __CHAR16_TYPE__ short unsigned int
|
||||||
|
#define __PRAGMA_REDEFINE_EXTNAME 1
|
||||||
|
#define __SIZE_WIDTH__ 64
|
||||||
|
#define __SEG_FS 1
|
||||||
|
#define __INT_LEAST16_MAX__ 0x7fff
|
||||||
|
#define __DEC64_MANT_DIG__ 16
|
||||||
|
#define __INT64_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __UINT_LEAST32_MAX__ 0xffffffffU
|
||||||
|
#define __SEG_GS 1
|
||||||
|
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
|
||||||
|
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
|
||||||
|
#define __SIG_ATOMIC_WIDTH__ 32
|
||||||
|
#define __INT_LEAST64_TYPE__ long int
|
||||||
|
#define __INT16_TYPE__ short int
|
||||||
|
#define __INT_LEAST8_TYPE__ signed char
|
||||||
|
#define __DEC32_MAX_EXP__ 97
|
||||||
|
#define __INT_FAST8_MAX__ 0x7f
|
||||||
|
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
|
||||||
|
#define __INTPTR_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define linux 1
|
||||||
|
#define __cpp_range_based_for 200907
|
||||||
|
#define __FLT64_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT32_MIN_10_EXP__ (-37)
|
||||||
|
#define __SSE2__ 1
|
||||||
|
#define __EXCEPTIONS 1
|
||||||
|
#define __LDBL_MANT_DIG__ 64
|
||||||
|
#define __DBL_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT64_HAS_INFINITY__ 1
|
||||||
|
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
|
||||||
|
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
|
||||||
|
#define __code_model_small__ 1
|
||||||
|
#define __k8__ 1
|
||||||
|
#define __INTPTR_TYPE__ long int
|
||||||
|
#define __UINT16_TYPE__ short unsigned int
|
||||||
|
#define __WCHAR_TYPE__ int
|
||||||
|
#define __SIZEOF_FLOAT__ 4
|
||||||
|
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __INT_FAST64_WIDTH__ 64
|
||||||
|
#define __DEC64_MIN_EXP__ (-382)
|
||||||
|
#define __cpp_decltype 200707
|
||||||
|
#define __FLT32_DECIMAL_DIG__ 9
|
||||||
|
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
|
||||||
|
#define __FLT_DIG__ 6
|
||||||
|
#define __FLT64X_MAX_EXP__ 16384
|
||||||
|
#define __UINT_FAST64_TYPE__ long unsigned int
|
||||||
|
#define __INT_MAX__ 0x7fffffff
|
||||||
|
#define __amd64__ 1
|
||||||
|
#define __INT64_TYPE__ long int
|
||||||
|
#define __FLT_MAX_EXP__ 128
|
||||||
|
#define __ORDER_BIG_ENDIAN__ 4321
|
||||||
|
#define __DBL_MANT_DIG__ 53
|
||||||
|
#define __cpp_inheriting_constructors 201511
|
||||||
|
#define __SIZEOF_FLOAT128__ 16
|
||||||
|
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __DEC64_MIN__ 1E-383DD
|
||||||
|
#define __WINT_TYPE__ unsigned int
|
||||||
|
#define __UINT_LEAST32_TYPE__ unsigned int
|
||||||
|
#define __SIZEOF_SHORT__ 2
|
||||||
|
#define __SSE__ 1
|
||||||
|
#define __LDBL_MIN_EXP__ (-16381)
|
||||||
|
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
|
||||||
|
#define __WINT_WIDTH__ 32
|
||||||
|
#define __INT_LEAST8_MAX__ 0x7f
|
||||||
|
#define __FLT32X_MAX_10_EXP__ 308
|
||||||
|
#define __SIZEOF_INT128__ 16
|
||||||
|
#define __LDBL_MAX_10_EXP__ 4932
|
||||||
|
#define __ATOMIC_RELAXED 0
|
||||||
|
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
|
||||||
|
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
|
||||||
|
#define _LP64 1
|
||||||
|
#define __UINT8_C(c) c
|
||||||
|
#define __FLT64_MAX_EXP__ 1024
|
||||||
|
#define __INT_LEAST32_TYPE__ int
|
||||||
|
#define __SIZEOF_WCHAR_T__ 4
|
||||||
|
#define __FLT128_HAS_QUIET_NAN__ 1
|
||||||
|
#define __INT_FAST8_TYPE__ signed char
|
||||||
|
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
|
||||||
|
#define __GNUC_STDC_INLINE__ 1
|
||||||
|
#define __FLT64_HAS_DENORM__ 1
|
||||||
|
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
|
||||||
|
#define __DBL_DECIMAL_DIG__ 17
|
||||||
|
#define __STDC_UTF_32__ 1
|
||||||
|
#define __INT_FAST8_WIDTH__ 8
|
||||||
|
#define __FXSR__ 1
|
||||||
|
#define __DEC_EVAL_METHOD__ 2
|
||||||
|
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
|
||||||
|
#define __cpp_runtime_arrays 198712
|
||||||
|
#define __UINT64_TYPE__ long unsigned int
|
||||||
|
#define __UINT32_C(c) c ## U
|
||||||
|
#define __INTMAX_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __cpp_alias_templates 200704
|
||||||
|
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||||
|
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
|
||||||
|
#define __INT8_MAX__ 0x7f
|
||||||
|
#define __LONG_WIDTH__ 64
|
||||||
|
#define __UINT_FAST32_TYPE__ long unsigned int
|
||||||
|
#define __CHAR32_TYPE__ unsigned int
|
||||||
|
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
|
||||||
|
#define __cpp_constexpr 200704
|
||||||
|
#define __INT32_TYPE__ int
|
||||||
|
#define __SIZEOF_DOUBLE__ 8
|
||||||
|
#define __cpp_exceptions 199711
|
||||||
|
#define __FLT_MIN_10_EXP__ (-37)
|
||||||
|
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
|
||||||
|
#define __INT_LEAST32_WIDTH__ 32
|
||||||
|
#define __INTMAX_TYPE__ long int
|
||||||
|
#define __DEC128_MAX_EXP__ 6145
|
||||||
|
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||||
|
#define __ATOMIC_CONSUME 1
|
||||||
|
#define __GNUC_MINOR__ 3
|
||||||
|
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||||
|
#define __INT_FAST16_WIDTH__ 64
|
||||||
|
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __DEC32_MANT_DIG__ 7
|
||||||
|
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
|
||||||
|
#define __DBL_MAX_10_EXP__ 308
|
||||||
|
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
|
||||||
|
#define __INT16_C(c) c
|
||||||
|
#define __STDC__ 1
|
||||||
|
#define __FLT32X_DIG__ 15
|
||||||
|
#define __PTRDIFF_TYPE__ long int
|
||||||
|
#define __ATOMIC_SEQ_CST 5
|
||||||
|
#define __UINT32_TYPE__ unsigned int
|
||||||
|
#define __FLT32X_MIN_10_EXP__ (-307)
|
||||||
|
#define __UINTPTR_TYPE__ long unsigned int
|
||||||
|
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
|
||||||
|
#define __DEC128_MANT_DIG__ 34
|
||||||
|
#define __LDBL_MIN_10_EXP__ (-4931)
|
||||||
|
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
|
||||||
|
#define __SSE_MATH__ 1
|
||||||
|
#define __SIZEOF_LONG_LONG__ 8
|
||||||
|
#define __cpp_user_defined_literals 200809
|
||||||
|
#define __FLT128_DECIMAL_DIG__ 36
|
||||||
|
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
|
||||||
|
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
|
||||||
|
#define __LDBL_DIG__ 18
|
||||||
|
#define __FLT_DECIMAL_DIG__ 9
|
||||||
|
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
|
||||||
|
#define __INT_LEAST64_WIDTH__ 64
|
||||||
|
#define __UINT_FAST8_TYPE__ unsigned char
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#define __ATOMIC_ACQ_REL 4
|
||||||
|
#define __ATOMIC_RELEASE 3
|
||||||
195
Android X86/AXVM/build/ui_mainwindow.h
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
/********************************************************************************
|
||||||
|
** Form generated from reading UI file 'mainwindow.ui'
|
||||||
|
**
|
||||||
|
** Created by: Qt User Interface Compiler version 5.15.3
|
||||||
|
**
|
||||||
|
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||||
|
********************************************************************************/
|
||||||
|
|
||||||
|
#ifndef UI_MAINWINDOW_H
|
||||||
|
#define UI_MAINWINDOW_H
|
||||||
|
|
||||||
|
#include <QtCore/QVariant>
|
||||||
|
#include <QtWidgets/QApplication>
|
||||||
|
#include <QtWidgets/QGridLayout>
|
||||||
|
#include <QtWidgets/QHBoxLayout>
|
||||||
|
#include <QtWidgets/QLabel>
|
||||||
|
#include <QtWidgets/QLineEdit>
|
||||||
|
#include <QtWidgets/QListView>
|
||||||
|
#include <QtWidgets/QMainWindow>
|
||||||
|
#include <QtWidgets/QPushButton>
|
||||||
|
#include <QtWidgets/QSpacerItem>
|
||||||
|
#include <QtWidgets/QStatusBar>
|
||||||
|
#include <QtWidgets/QTabWidget>
|
||||||
|
#include <QtWidgets/QVBoxLayout>
|
||||||
|
#include <QtWidgets/QWidget>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
class Ui_MainWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QWidget *centralWidget;
|
||||||
|
QVBoxLayout *verticalLayout_2;
|
||||||
|
QTabWidget *tabWidget;
|
||||||
|
QWidget *tab;
|
||||||
|
QGridLayout *gridLayout;
|
||||||
|
QHBoxLayout *horizontalLayout_2;
|
||||||
|
QLabel *label_2;
|
||||||
|
QHBoxLayout *horizontalLayout_3;
|
||||||
|
QLabel *label;
|
||||||
|
QLineEdit *lineEdit;
|
||||||
|
QPushButton *pushButton_3;
|
||||||
|
QSpacerItem *verticalSpacer;
|
||||||
|
QWidget *tab_2;
|
||||||
|
QHBoxLayout *horizontalLayout;
|
||||||
|
QListView *listView;
|
||||||
|
QVBoxLayout *verticalLayout;
|
||||||
|
QSpacerItem *verticalSpacer_3;
|
||||||
|
QPushButton *pushButton_2;
|
||||||
|
QPushButton *pushButton;
|
||||||
|
QSpacerItem *verticalSpacer_2;
|
||||||
|
QListView *urlImageList;
|
||||||
|
QWidget *tab_3;
|
||||||
|
QStatusBar *statusBar;
|
||||||
|
|
||||||
|
void setupUi(QMainWindow *MainWindow)
|
||||||
|
{
|
||||||
|
if (MainWindow->objectName().isEmpty())
|
||||||
|
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
|
||||||
|
MainWindow->resize(683, 416);
|
||||||
|
centralWidget = new QWidget(MainWindow);
|
||||||
|
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
|
||||||
|
verticalLayout_2 = new QVBoxLayout(centralWidget);
|
||||||
|
verticalLayout_2->setSpacing(6);
|
||||||
|
verticalLayout_2->setContentsMargins(11, 11, 11, 11);
|
||||||
|
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
|
||||||
|
tabWidget = new QTabWidget(centralWidget);
|
||||||
|
tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
|
||||||
|
tabWidget->setTabPosition(QTabWidget::West);
|
||||||
|
tabWidget->setElideMode(Qt::ElideNone);
|
||||||
|
tab = new QWidget();
|
||||||
|
tab->setObjectName(QString::fromUtf8("tab"));
|
||||||
|
gridLayout = new QGridLayout(tab);
|
||||||
|
gridLayout->setSpacing(6);
|
||||||
|
gridLayout->setContentsMargins(11, 11, 11, 11);
|
||||||
|
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
|
||||||
|
horizontalLayout_2 = new QHBoxLayout();
|
||||||
|
horizontalLayout_2->setSpacing(6);
|
||||||
|
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
|
||||||
|
label_2 = new QLabel(tab);
|
||||||
|
label_2->setObjectName(QString::fromUtf8("label_2"));
|
||||||
|
|
||||||
|
horizontalLayout_2->addWidget(label_2);
|
||||||
|
|
||||||
|
|
||||||
|
gridLayout->addLayout(horizontalLayout_2, 1, 0, 1, 1);
|
||||||
|
|
||||||
|
horizontalLayout_3 = new QHBoxLayout();
|
||||||
|
horizontalLayout_3->setSpacing(6);
|
||||||
|
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
|
||||||
|
label = new QLabel(tab);
|
||||||
|
label->setObjectName(QString::fromUtf8("label"));
|
||||||
|
|
||||||
|
horizontalLayout_3->addWidget(label);
|
||||||
|
|
||||||
|
lineEdit = new QLineEdit(tab);
|
||||||
|
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
|
||||||
|
|
||||||
|
horizontalLayout_3->addWidget(lineEdit);
|
||||||
|
|
||||||
|
pushButton_3 = new QPushButton(tab);
|
||||||
|
pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
|
||||||
|
|
||||||
|
horizontalLayout_3->addWidget(pushButton_3);
|
||||||
|
|
||||||
|
|
||||||
|
gridLayout->addLayout(horizontalLayout_3, 0, 0, 1, 1);
|
||||||
|
|
||||||
|
verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||||
|
|
||||||
|
gridLayout->addItem(verticalSpacer, 2, 0, 1, 1);
|
||||||
|
|
||||||
|
tabWidget->addTab(tab, QString());
|
||||||
|
tab_2 = new QWidget();
|
||||||
|
tab_2->setObjectName(QString::fromUtf8("tab_2"));
|
||||||
|
horizontalLayout = new QHBoxLayout(tab_2);
|
||||||
|
horizontalLayout->setSpacing(6);
|
||||||
|
horizontalLayout->setContentsMargins(11, 11, 11, 11);
|
||||||
|
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
|
||||||
|
listView = new QListView(tab_2);
|
||||||
|
listView->setObjectName(QString::fromUtf8("listView"));
|
||||||
|
|
||||||
|
horizontalLayout->addWidget(listView);
|
||||||
|
|
||||||
|
verticalLayout = new QVBoxLayout();
|
||||||
|
verticalLayout->setSpacing(6);
|
||||||
|
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
|
||||||
|
verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||||
|
|
||||||
|
verticalLayout->addItem(verticalSpacer_3);
|
||||||
|
|
||||||
|
pushButton_2 = new QPushButton(tab_2);
|
||||||
|
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(pushButton_2);
|
||||||
|
|
||||||
|
pushButton = new QPushButton(tab_2);
|
||||||
|
pushButton->setObjectName(QString::fromUtf8("pushButton"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(pushButton);
|
||||||
|
|
||||||
|
verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||||
|
|
||||||
|
verticalLayout->addItem(verticalSpacer_2);
|
||||||
|
|
||||||
|
|
||||||
|
horizontalLayout->addLayout(verticalLayout);
|
||||||
|
|
||||||
|
urlImageList = new QListView(tab_2);
|
||||||
|
urlImageList->setObjectName(QString::fromUtf8("urlImageList"));
|
||||||
|
|
||||||
|
horizontalLayout->addWidget(urlImageList);
|
||||||
|
|
||||||
|
tabWidget->addTab(tab_2, QString());
|
||||||
|
tab_3 = new QWidget();
|
||||||
|
tab_3->setObjectName(QString::fromUtf8("tab_3"));
|
||||||
|
tabWidget->addTab(tab_3, QString());
|
||||||
|
|
||||||
|
verticalLayout_2->addWidget(tabWidget);
|
||||||
|
|
||||||
|
MainWindow->setCentralWidget(centralWidget);
|
||||||
|
statusBar = new QStatusBar(MainWindow);
|
||||||
|
statusBar->setObjectName(QString::fromUtf8("statusBar"));
|
||||||
|
MainWindow->setStatusBar(statusBar);
|
||||||
|
|
||||||
|
retranslateUi(MainWindow);
|
||||||
|
|
||||||
|
tabWidget->setCurrentIndex(1);
|
||||||
|
|
||||||
|
|
||||||
|
QMetaObject::connectSlotsByName(MainWindow);
|
||||||
|
} // setupUi
|
||||||
|
|
||||||
|
void retranslateUi(QMainWindow *MainWindow)
|
||||||
|
{
|
||||||
|
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
|
||||||
|
label_2->setText(QCoreApplication::translate("MainWindow", "TextLabel", nullptr));
|
||||||
|
label->setText(QCoreApplication::translate("MainWindow", "TextLabel", nullptr));
|
||||||
|
pushButton_3->setText(QCoreApplication::translate("MainWindow", "PushButton", nullptr));
|
||||||
|
tabWidget->setTabText(tabWidget->indexOf(tab), QCoreApplication::translate("MainWindow", "\346\223\215\344\275\234", nullptr));
|
||||||
|
pushButton_2->setText(QCoreApplication::translate("MainWindow", "<<", nullptr));
|
||||||
|
pushButton->setText(QCoreApplication::translate("MainWindow", ">>", nullptr));
|
||||||
|
tabWidget->setTabText(tabWidget->indexOf(tab_2), QCoreApplication::translate("MainWindow", "\346\226\260\345\273\272\346\250\241\346\213\237\345\231\250", nullptr));
|
||||||
|
tabWidget->setTabText(tabWidget->indexOf(tab_3), QCoreApplication::translate("MainWindow", "\345\205\263\344\272\216", nullptr));
|
||||||
|
} // retranslateUi
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class MainWindow: public Ui_MainWindow {};
|
||||||
|
} // namespace Ui
|
||||||
|
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
#endif // UI_MAINWINDOW_H
|
||||||
196
Android X86/AXVM/downloadthread.cpp
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
#define SETTINGSTEP 6
|
||||||
|
#include "downloadthread.h"
|
||||||
|
#include <QProgressDialog>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QNetworkAccessManager>
|
||||||
|
#include <QNetworkRequest>
|
||||||
|
#include <QEventLoop>
|
||||||
|
#include <QTimer>
|
||||||
|
#include <QNetworkReply>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QCoreApplication>
|
||||||
|
// 文件操作
|
||||||
|
#include <QDir>
|
||||||
|
// 命令执行
|
||||||
|
#include <QProcess>
|
||||||
|
// 获取内存总量
|
||||||
|
#if defined(Q_OS_LINUX) // 区分系统平台
|
||||||
|
#include "sys/statfs.h" // Linux 上
|
||||||
|
#else // Windows 上
|
||||||
|
#pragma comment(lib, "Kernel32.lib")
|
||||||
|
#pragma comment(lib, "Psapi.lib")
|
||||||
|
#include <windows.h>
|
||||||
|
#include <tlhelp32.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
DownloadThread::DownloadThread(QProgressDialog *progressDialog, QString url, QString name, QString mouse, bool NotDownload){
|
||||||
|
dialog = progressDialog;
|
||||||
|
fileUrl = url;
|
||||||
|
vmName = name;
|
||||||
|
setMouse = mouse;
|
||||||
|
notDownload = NotDownload;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 文件下载
|
||||||
|
void DownloadThread::run(){
|
||||||
|
// 创建文件夹
|
||||||
|
QDir dir;
|
||||||
|
QString configDir = QCoreApplication::applicationDirPath() + "/VM";
|
||||||
|
if(!dir.exists(configDir)){
|
||||||
|
// 文件不存在
|
||||||
|
dir.mkpath(configDir);
|
||||||
|
}
|
||||||
|
configDir = QCoreApplication::applicationDirPath() + "/VM/" + vmName;
|
||||||
|
if(!dir.exists(configDir)){
|
||||||
|
// 文件不存在
|
||||||
|
dir.mkpath(configDir);
|
||||||
|
}
|
||||||
|
QString savePath = configDir + "/vm.ova";
|
||||||
|
// 文件下载
|
||||||
|
int timeout = 0;
|
||||||
|
QFile f(savePath);
|
||||||
|
if(!f.open(QIODevice::WriteOnly)){
|
||||||
|
emit MessageBoxError("文件无法写入");
|
||||||
|
f.close();
|
||||||
|
delete dialog;
|
||||||
|
dialog->close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(notDownload){
|
||||||
|
qDebug() << "b";
|
||||||
|
SettingVirtualMachine(savePath);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QNetworkAccessManager m;
|
||||||
|
QNetworkRequest req;
|
||||||
|
// 响应 https(就是不行)
|
||||||
|
//QSslConfiguration conf = req.sslConfiguration();
|
||||||
|
//conf.setPeerVerifyMode(QSslSocket::VerifyNone);
|
||||||
|
//conf.setProtocol(QSsl::TlsV1_1);
|
||||||
|
//req.setSslConfiguration(conf);
|
||||||
|
req.setUrl(QUrl("https://code.gitlink.org.cn/gfdgd_xi/wine-mirrors/raw/branch/master/spark-wine7-devel-7.14.7z"));
|
||||||
|
// 下载文件
|
||||||
|
QNetworkReply *reply = m.get(req);
|
||||||
|
QEventLoop loop;
|
||||||
|
QTimer t;
|
||||||
|
qDebug() << reply->rawHeader(QString("Content-Length").toUtf8());
|
||||||
|
connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
|
||||||
|
connect(reply, &QNetworkReply::downloadProgress, [=, &f, &t](qint64 bytesRead, qint64 totalBytes){
|
||||||
|
f.write(reply->readAll());
|
||||||
|
dialog->setValue((float)bytesRead / totalBytes * 100);
|
||||||
|
dialog->setLabelText(QString::number(bytesRead / 1024 / 1024) + "MB/" + QString::number(totalBytes / 1024 / 1024) + "MB");
|
||||||
|
if(t.isActive()){
|
||||||
|
t.start(timeout);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(timeout > 0){
|
||||||
|
connect(&t, &QTimer::timeout, &loop, &QEventLoop::quit);
|
||||||
|
t.start(timeout);
|
||||||
|
}
|
||||||
|
loop.exec();
|
||||||
|
if(reply->error() != QNetworkReply::NoError){
|
||||||
|
emit MessageBoxError("下载失败");
|
||||||
|
f.close();
|
||||||
|
delete reply;
|
||||||
|
delete dialog;
|
||||||
|
dialog->close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
f.close();
|
||||||
|
delete reply;
|
||||||
|
SettingVirtualMachine(savePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadThread::SettingVirtualMachine(QString savePath){
|
||||||
|
// 设置虚拟机
|
||||||
|
dialog->setLabelText("设置虚拟机");
|
||||||
|
dialog->setWindowTitle("正在设置“" + vmName + "”");
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 0);
|
||||||
|
dialog->show();
|
||||||
|
// 拷贝 OVA 文件
|
||||||
|
if(notDownload){
|
||||||
|
if(QFile::exists(savePath)){
|
||||||
|
QFile::remove(savePath);
|
||||||
|
}
|
||||||
|
if(!QFile::copy(fileUrl, savePath)){
|
||||||
|
emit MessageBoxError("文件复制错误,无法继续");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 导入 OVA 镜像
|
||||||
|
QProcess progress;
|
||||||
|
QStringList command;
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 1);
|
||||||
|
command << "import" << savePath;
|
||||||
|
progress.start("VBoxManage", command);
|
||||||
|
progress.waitForFinished();
|
||||||
|
qDebug() << "正常信息:\n";
|
||||||
|
qDebug() << progress.readAllStandardOutput();
|
||||||
|
qDebug() << "错误信息:\n";
|
||||||
|
qDebug() << progress.readAllStandardError();
|
||||||
|
// 获取内存
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 2);
|
||||||
|
int memtotal = 0;
|
||||||
|
#if defined (Q_OS_LINUX) // 在 Linux 下读取总内存
|
||||||
|
progress.start("free -m");
|
||||||
|
progress.waitForFinished();
|
||||||
|
progress.readLine(); // 忽略第一行
|
||||||
|
QString memoryInfo = progress.readLine(); // 只读取第 2 行
|
||||||
|
qDebug() << memoryInfo;
|
||||||
|
memoryInfo.replace("\n", ""); // 忽略换行符
|
||||||
|
memoryInfo.replace(QRegExp("( ){1,}"), " "); // 将连续的空格换为单个空格
|
||||||
|
auto memoryList = memoryInfo.split(" "); // 根据空格切割内容
|
||||||
|
qDebug() << memoryList;
|
||||||
|
if(memoryList.size() >= 2){ // 保证至少有两个
|
||||||
|
// 理论上列表应该出现的是如下的内容
|
||||||
|
// ["Mem:", "13998", "9622", "197", "803", "4179", "3331"]
|
||||||
|
// 因此要读[1]
|
||||||
|
memtotal = memoryList[1].toDouble();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
emit MessageBoxError("内存读取错误,请自行打开 VirtualBox 设置内存");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
// 设置内存
|
||||||
|
// 示例命令:VBoxManage modifyvm [name] --memory 4096
|
||||||
|
command.clear(); // 清空参数列表
|
||||||
|
command << "modifyvm" << vmName << "--memory" << QString::number(memtotal / 2);
|
||||||
|
progress.start("VBoxManage", command);
|
||||||
|
progress.waitForFinished();
|
||||||
|
// 设置显卡,默认的 VMSVGA 在 Android X86 上运行有很多问题,应设为 VBoxVGA
|
||||||
|
// 示例命令:VBoxManage modifyvm [name] --graphicscontroller vboxvga
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 3);
|
||||||
|
command.clear(); // 清空参数列表
|
||||||
|
command << "modifyvm" << vmName << "--graphicscontroller" << "vboxvga";
|
||||||
|
qDebug() << command;
|
||||||
|
progress.start("VBoxManage", command);
|
||||||
|
progress.waitForFinished();
|
||||||
|
// 设置声卡
|
||||||
|
// VBoxManage modifyvm [name] --audio pulse --audiocontroller hda --audioin on --audioout on
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 4);
|
||||||
|
command.clear(); // 清空参数列表
|
||||||
|
command << "modifyvm" << vmName << "--audio" << "pulse" << "--audiocontroller" << "hda" << "--audioin" << "on" << "--audioout" << "on";
|
||||||
|
progress.start("VBoxManage", command);
|
||||||
|
progress.waitForFinished();
|
||||||
|
// 设置显存
|
||||||
|
// VBoxManage modifyvm [name] --vram 128
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 5);
|
||||||
|
command.clear(); // 清空参数列表
|
||||||
|
command << "modifyvm" << vmName << "--vram" << "128";
|
||||||
|
progress.start("VBoxManage", command);
|
||||||
|
progress.waitForFinished();
|
||||||
|
// 设置鼠标
|
||||||
|
// VBoxManage modifyvm [name] --mouse ps2
|
||||||
|
dialog->setValue(100 / SETTINGSTEP * 6);
|
||||||
|
if(setMouse == "ps2"){
|
||||||
|
command.clear(); // 清空参数列表
|
||||||
|
command << "modifyvm" << vmName << "--mouse" << "ps2";
|
||||||
|
progress.start("VBoxManage", command);
|
||||||
|
progress.waitForFinished();
|
||||||
|
}
|
||||||
|
// 结束
|
||||||
|
dialog->setValue(100);
|
||||||
|
emit MessageBoxOpenVM(vmName);
|
||||||
|
dialog->close();
|
||||||
|
delete dialog;
|
||||||
|
}
|
||||||
33
Android X86/AXVM/downloadthread.h
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* 重写 QThread 以实现多线程下载功能
|
||||||
|
*/
|
||||||
|
#ifndef DOWNLOADTHREAD_H
|
||||||
|
#define DOWNLOADTHREAD_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QThread>
|
||||||
|
#include <QProgressDialog>
|
||||||
|
|
||||||
|
class DownloadThread : public QThread // 继承 QThread
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DownloadThread(QProgressDialog *dialog, QString url, QString save, QString mouse, bool NotDownload);
|
||||||
|
void SettingVirtualMachine(QString savePath);
|
||||||
|
QProgressDialog *dialog;
|
||||||
|
QString fileUrl;
|
||||||
|
QString vmName;
|
||||||
|
QString setMouse;
|
||||||
|
bool notDownload;
|
||||||
|
QString notDownloadPath;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void run(); // 核心
|
||||||
|
|
||||||
|
signals:
|
||||||
|
// 防止非主线程刷新控件导致程序退出
|
||||||
|
void MessageBoxInfo(QString info);
|
||||||
|
void MessageBoxError(QString info);
|
||||||
|
void MessageBoxOpenVM(QString vmName);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DOWNLOADTHREAD_H
|
||||||
44
Android X86/AXVM/getipserver.cpp
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#include "getipserver.h"
|
||||||
|
#include <QTcpServer>
|
||||||
|
#include <mainwindow.h>
|
||||||
|
#include <QtNetwork>
|
||||||
|
#include <QHostAddress>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
GetIPServer::GetIPServer(QLabel *localIp)
|
||||||
|
{
|
||||||
|
lock = false;
|
||||||
|
tcp = new QTcpServer();
|
||||||
|
QHostAddress ip("0.0.0.0");
|
||||||
|
tcp->listen(QHostAddress::Any, 30201);
|
||||||
|
// 获取 IP 地址
|
||||||
|
QString IpAddress;
|
||||||
|
foreach (QHostAddress address, QNetworkInterface::allAddresses())
|
||||||
|
{
|
||||||
|
if(address.protocol() == QAbstractSocket::IPv4Protocol && address.toString() != "127.0.0.1" && address.toString() != "192.168.250.1"){
|
||||||
|
IpAddress = address.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
qDebug() << "服务器IP:" << IpAddress;
|
||||||
|
qDebug() << "服务器端口:" << tcp->serverPort();
|
||||||
|
localIp->setText("访问:http://" + IpAddress + ":" + QString::number(tcp->serverPort()) + " 连接");
|
||||||
|
connect(tcp, &QTcpServer::newConnection, this, [this](){
|
||||||
|
|
||||||
|
tcpSocket = tcp->nextPendingConnection();
|
||||||
|
QString ipAddress = QHostAddress(tcpSocket->peerAddress().toIPv4Address()).toString();
|
||||||
|
qDebug() << ipAddress;
|
||||||
|
qDebug() << tcpSocket->peerPort();
|
||||||
|
tcpSocket->write("HTTP/1.1 200 OK"\
|
||||||
|
"Content-Type: text/html;charset=utf-8"\
|
||||||
|
"\n\n");
|
||||||
|
tcpSocket->write(QString("<html><body><p>IP Address: " + ipAddress + "</p><p>Get Port: " + QString::number(tcpSocket->peerPort()) + "</p></body></html>").toLocal8Bit());
|
||||||
|
tcpSocket->close();
|
||||||
|
if(lock){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lock = true;
|
||||||
|
QMessageBox::question(NULL, "提示", "IP地址为“" + ipAddress + "”想要连接,是否连接?");
|
||||||
|
lock = false;
|
||||||
|
});
|
||||||
|
qDebug() << "a";
|
||||||
|
}
|
||||||
20
Android X86/AXVM/getipserver.h
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#ifndef GETIPSERVER_H
|
||||||
|
#define GETIPSERVER_H
|
||||||
|
|
||||||
|
#include <mainwindow.h>
|
||||||
|
#include <QTcpServer>
|
||||||
|
#include <QLabel>
|
||||||
|
|
||||||
|
class GetIPServer : public QMainWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
GetIPServer(QLabel *localIp);
|
||||||
|
void ConnectClient();
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool lock;
|
||||||
|
QTcpServer *tcp;
|
||||||
|
QTcpSocket *tcpSocket;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // GETIPSERVER_H
|
||||||
11
Android X86/AXVM/main.cpp
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#include "mainwindow.h"
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QApplication a(argc, argv);
|
||||||
|
MainWindow w;
|
||||||
|
w.show();
|
||||||
|
|
||||||
|
return a.exec();
|
||||||
|
}
|
||||||
149
Android X86/AXVM/mainwindow.cpp
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
#include "mainwindow.h"
|
||||||
|
#include "ui_mainwindow.h"
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QStringListModel>
|
||||||
|
#include <QStandardItem>
|
||||||
|
#include <QThread>
|
||||||
|
#include <QInputDialog>
|
||||||
|
#include <QFileDialog>
|
||||||
|
// 用于镜像信息获取
|
||||||
|
#include <QNetworkReply>
|
||||||
|
#include <QNetworkAccessManager>
|
||||||
|
#include <QNetworkRequest>
|
||||||
|
// 用于解析 JSON 数据
|
||||||
|
#include <QJsonObject>
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <QJsonArray>
|
||||||
|
// 用于下载文件
|
||||||
|
#include <QProgressDialog>
|
||||||
|
#include "downloadthread.h"
|
||||||
|
#include <QLoggingCategory>
|
||||||
|
// 用于执行命令
|
||||||
|
#include <QProcess>
|
||||||
|
// 用于 Mini HTTP 服务器搭建
|
||||||
|
#include <getipserver.h>
|
||||||
|
|
||||||
|
MainWindow::MainWindow(QWidget *parent) :
|
||||||
|
QMainWindow(parent),
|
||||||
|
ui(new Ui::MainWindow)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
||||||
|
// 获取网络镜像列表
|
||||||
|
QEventLoop loop;
|
||||||
|
QNetworkAccessManager manager;
|
||||||
|
QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("http://120.25.153.144/AXVM/list.json")));
|
||||||
|
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
|
||||||
|
loop.exec();
|
||||||
|
// 解析获取数据并显示
|
||||||
|
QString imageJsonList = reply->readAll();
|
||||||
|
QJsonDocument imageList = QJsonDocument::fromJson(imageJsonList.toUtf8());
|
||||||
|
name = imageList.array();
|
||||||
|
QStringList nameList;
|
||||||
|
QStandardItemModel *nameListModel = new QStandardItemModel(this);
|
||||||
|
int size = name.size();
|
||||||
|
qDebug() << size;
|
||||||
|
for (int i = 0; i < size; ++i) {
|
||||||
|
QJsonValue value = name.at(i);
|
||||||
|
QJsonArray obj = value.toArray();
|
||||||
|
QStandardItem *item = new QStandardItem(obj.at(0).toString());
|
||||||
|
nameListModel->appendRow(item);
|
||||||
|
}
|
||||||
|
ui->urlImageList->setModel(nameListModel);
|
||||||
|
// 允许 qDebug() 输出
|
||||||
|
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
||||||
|
GetIPServer *ip = new GetIPServer(ui->localIP);
|
||||||
|
}
|
||||||
|
|
||||||
|
MainWindow::~MainWindow()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
// 安装事件
|
||||||
|
void MainWindow::on_pushButton_2_clicked()
|
||||||
|
{
|
||||||
|
if(ui->urlImageList->selectionModel()->currentIndex().row() == -1){ // 未选择任何选项
|
||||||
|
QMessageBox::information(this, "提示", "您未选择任何项");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
downloadDialog = new QProgressDialog("", "无用的按钮", 0, 100, this);
|
||||||
|
downloadDialog->setWindowTitle("正在下载“" + name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(0).toString() + "”");
|
||||||
|
downloadDialog->show();
|
||||||
|
if(name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(3).isArray()){
|
||||||
|
if(QMessageBox::question(this, "提示", "推荐您手动下载格式包,是否手动获取链接并下载?") == QMessageBox::Yes){
|
||||||
|
QJsonArray urlList = name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(3).toArray();
|
||||||
|
QString urlThings = "";
|
||||||
|
for(int i = 0; i < urlList.size(); i=i+2){
|
||||||
|
urlThings += urlList.at(i).toString() + ":" + urlList.at(i + 1).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString choose = QInputDialog::getMultiLineText(this,
|
||||||
|
"“" + name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(0).toString() + "”下载链接",
|
||||||
|
"请在下面任选一个链接复制到浏览器地址栏进行下载,下载完成后按下“OK”按钮选择下载的 OVA 文件,如果想要取消操作请按“Cancal”",
|
||||||
|
urlThings);
|
||||||
|
if(choose == ""){ // 忽略取消
|
||||||
|
downloadDialog->close();
|
||||||
|
delete downloadDialog;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QString path = QFileDialog::getOpenFileName(this, "浏览 OVA 文件", "~", "OVA文件(*.ova);;全部文件(*.*)");
|
||||||
|
if(path == ""){ // 忽略取消
|
||||||
|
downloadDialog->close();
|
||||||
|
delete downloadDialog;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
thread = new DownloadThread(downloadDialog,
|
||||||
|
path,
|
||||||
|
name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(0).toString(),
|
||||||
|
name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(2).toString(),
|
||||||
|
true);
|
||||||
|
//connect(thread, &DownloadThread::MessageBoxInfo, this, [this](QString info){QMessageBox::information(this, "提示", info);});
|
||||||
|
//connect(thread, &DownloadThread::MessageBoxError, this, [this](QString info){QMessageBox::critical(this, "错误", info);});
|
||||||
|
/*connect(thread, &DownloadThread::MessageBoxOpenVM, this, [this](QString vmName){
|
||||||
|
if(QMessageBox::question(this, "提示", "安装成功!是否现在马上启动虚拟机?") == QMessageBox::Yes){
|
||||||
|
QProcess process;
|
||||||
|
QStringList command;
|
||||||
|
command << "startvm" << vmName;
|
||||||
|
process.start("VBoxManage", command);
|
||||||
|
process.waitForFinished();
|
||||||
|
qDebug() << process.readAllStandardError();
|
||||||
|
qDebug() << process.readAllStandardOutput();
|
||||||
|
}});*/
|
||||||
|
thread->start();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
thread = new DownloadThread(downloadDialog,
|
||||||
|
name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(1).toString(),
|
||||||
|
name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(0).toString(),
|
||||||
|
name.at(ui->urlImageList->selectionModel()->currentIndex().row()).toArray().at(2).toString(),
|
||||||
|
false);
|
||||||
|
//connect(thread, &DownloadThread::MessageBoxInfo, this, &MainWindow::MessageBoxInfo);
|
||||||
|
//connect(thread, &DownloadThread::MessageBoxError, this, &MainWindow::MessageBoxError);
|
||||||
|
|
||||||
|
//connect(thread, &DownloadThread::MessageBoxOpenVM, this, &MainWindow::OpenVM);
|
||||||
|
thread->start();
|
||||||
|
}
|
||||||
|
void DownloadThread::MessageBoxInfo(QString info){
|
||||||
|
QMessageBox::information(NULL, "提示", info);
|
||||||
|
}
|
||||||
|
void DownloadThread::MessageBoxError(QString info){
|
||||||
|
QMessageBox::critical(NULL, "错误", info);
|
||||||
|
}
|
||||||
|
void DownloadThread::MessageBoxOpenVM(QString vmName)
|
||||||
|
{
|
||||||
|
if(QMessageBox::question(NULL, "提示", "安装成功!是否现在马上启动虚拟机?") == QMessageBox::Yes){
|
||||||
|
QProcess process;
|
||||||
|
QStringList command;
|
||||||
|
command << "startvm" << vmName;
|
||||||
|
process.start("VBoxManage", command);
|
||||||
|
process.waitForFinished();
|
||||||
|
qDebug() << process.readAllStandardError();
|
||||||
|
qDebug() << process.readAllStandardOutput();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_centralWidget_destroyed()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
38
Android X86/AXVM/mainwindow.h
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#ifndef MAINWINDOW_H
|
||||||
|
#define MAINWINDOW_H
|
||||||
|
|
||||||
|
#include "downloadthread.h"
|
||||||
|
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include <QNetworkReply>
|
||||||
|
#include <QProgressDialog>
|
||||||
|
#include <QJsonArray>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class MainWindow;
|
||||||
|
}
|
||||||
|
|
||||||
|
class MainWindow : public QMainWindow
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit MainWindow(QWidget *parent = nullptr);
|
||||||
|
~MainWindow();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_pushButton_2_clicked();
|
||||||
|
//void OpenVM(QString vmName);
|
||||||
|
//void MessageBoxInfo(QString info);
|
||||||
|
//void MessageBoxError(QString info);
|
||||||
|
|
||||||
|
void on_centralWidget_destroyed();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::MainWindow *ui;
|
||||||
|
DownloadThread *thread;
|
||||||
|
QProgressDialog *downloadDialog;
|
||||||
|
QJsonArray name;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MAINWINDOW_H
|
||||||
279
Android X86/AXVM/mainwindow.ui
Normal file
@@ -0,0 +1,279 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>MainWindow</class>
|
||||||
|
<widget class="QMainWindow" name="MainWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>683</width>
|
||||||
|
<height>416</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>MainWindow</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralWidget">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
|
<property name="tabPosition">
|
||||||
|
<enum>QTabWidget::West</enum>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="elideMode">
|
||||||
|
<enum>Qt::ElideNone</enum>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="tab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>操作</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QGridLayout" name="gridLayout" columnstretch="0">
|
||||||
|
<item row="3" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>选择虚拟机:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="comboBox"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_7">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>PushButton</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>IP地址:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>连接</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="4">
|
||||||
|
<widget class="QPushButton" name="pushButton_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>重置虚拟机</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QPushButton" name="pushButton_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>开启虚拟机</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="pushButton_10">
|
||||||
|
<property name="text">
|
||||||
|
<string>设置虚拟机</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="5">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QPushButton" name="pushButton_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>关闭虚拟机</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QPushButton" name="pushButton_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>重置虚拟机配置</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>安装/卸载应用:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_2"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>安装</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>浏览</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>卸载</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="localIP">
|
||||||
|
<property name="text">
|
||||||
|
<string>访问:http://127.0.0.1:30201 连接</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="tab_2">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>新建模拟器</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QListView" name="listView"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_2">
|
||||||
|
<property name="text">
|
||||||
|
<string><<</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>>></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QListView" name="urlImageList"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="tab_3">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>关于</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>©2022~Now,gfdgd xi、为什么您不喜欢熊出没和阿布呢</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusBar"/>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
0
Android X86/main.py
Normal file → Executable file
5
Download.py
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import sys
|
||||||
|
import base64
|
||||||
|
import requests
|
||||||
|
print(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3VlbmdpbmUtcnVubmVyL0luc3RhbGwucGhwP1ZlcnNpb249").decode("utf-8") + sys.argv[1]).text)
|
||||||
0
Help/1-1-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
0
Help/1-1-2.png
Normal file → Executable file
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
0
Help/1-1-3.png
Normal file → Executable file
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
0
Help/1-1-4.png
Normal file → Executable file
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
0
Help/1-1-5.png
Normal file → Executable file
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
0
Help/1-2-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
0
Help/1-2-2.png
Normal file → Executable file
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
0
Help/1-3-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
0
Help/1-4-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
0
Help/1-5-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
0
Help/1-5-2.png
Normal file → Executable file
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
0
Help/1-6-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
0
Help/1-6-2.png
Normal file → Executable file
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
0
Help/1-6-3.png
Normal file → Executable file
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
0
Help/1-7-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
0
Help/1-8-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
0
Help/1-9-1.png
Normal file → Executable file
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
0
Help/1-9-2.png
Normal file → Executable file
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
0
Help/1-9-3.png
Normal file → Executable file
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
0
Help/1-9-4.png
Normal file → Executable file
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
0
Help/1-9-5.png
Normal file → Executable file
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
0
Help/1-9-6.png
Normal file → Executable file
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
0
Help/1-9-7.png
Normal file → Executable file
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
49
Help/index.html
Normal file → Executable file
@@ -1,13 +1,23 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
|
<meta charset='UTF-8'>
|
||||||
<title>index</title>
|
<meta name='viewport' content='width=device-width initial-scale=1'>
|
||||||
|
<link rel="shortcut icon" href="../runner.svg">
|
||||||
|
<title>UEngine 程序帮助</title>
|
||||||
</head>
|
</head>
|
||||||
<body><h1 id='uengine-运行器帮助'>UEngine 运行器帮助</h1>
|
|
||||||
|
<body onload="UpdateTime();">
|
||||||
|
<h1 id='uengine-运行器帮助'>UEngine 运行器帮助</h1>
|
||||||
<hr />
|
<hr />
|
||||||
<h2 id='帮助简述'>帮助简述</h2>
|
<h2 id='帮助简述'>帮助简述</h2>
|
||||||
<blockquote><p>安装APK:点浏览按钮,选中需要安装的APK,然后点安装按钮<br/>卸载APK:在卸载APK下面的输入框内输入需要卸载的APK包名,点卸载按钮,如果无法获取包名,可以通过浏览APK文件程序自动获取包名进行卸载。<br/>保存APK图标:在安装APK下面的输入框浏览或输入APK的路径,然后点击“保存图标”按钮,选择保存位置即可<br/>重置(删除)UEngine数据:点击菜单栏的“UEngine”的“清空UEngine数据”,输入密码重启即可<br/>注意:如果任何安卓一遍打不开,多打开几遍应该就可以重新加载UEngine配置了<br/>打开UEngine应用列表:打开系统已安装的应用列表(安卓界面)<br/><strong>提示:</strong> <br/><strong>※1、近期升级的 UEngine 安装时会自动把要安装的 apk 删除,如果这个 apk 文件非常重要请拷贝一个备份版并安装这个备份版</strong> <br/><strong>2、需要你有使用 root 权限的能力;</strong><br/><strong>3、需要安装 UEngine 才能使用;</strong><br/><strong>4、提取 apk 图标的 apk 路径以“安装 apk”那栏为准;</strong><br/><strong>5、如果想要使用adb连接UEngine或其他手机,请使用 1.2.0 以前的版本。(如需连接UEngine请安装adb补丁)</strong> </p>
|
<blockquote>
|
||||||
|
<p>安装APK:点浏览按钮,选中需要安装的APK,然后点安装按钮<br/>卸载APK:在卸载APK下面的输入框内输入需要卸载的APK包名,点卸载按钮,如果无法获取包名,可以通过浏览APK文件程序自动获取包名进行卸载。<br/>保存APK图标:在安装APK下面的输入框浏览或输入APK的路径,然后点击“保存图标”按钮,选择保存位置即可<br/>重置(删除)UEngine数据:点击菜单栏的“UEngine”的“清空UEngine数据”,输入密码重启即可<br/>注意:如果任何安卓一遍打不开,多打开几遍应该就可以重新加载UEngine配置了<br/>打开UEngine应用列表:打开系统已安装的应用列表(安卓界面)<br/><strong>提示:</strong>
|
||||||
|
<br/><strong>※1、近期升级的 UEngine 安装时会自动把要安装的 apk 删除,如果这个 apk 文件非常重要请拷贝一个备份版并安装这个备份版</strong>
|
||||||
|
<br/><strong>2、需要你有使用 root 权限的能力;</strong><br/><strong>3、需要安装 UEngine 才能使用;</strong><br/><strong>4、提取 apk
|
||||||
|
图标的 apk 路径以“安装 apk”那栏为准;</strong><br/><strong>5、如果想要使用adb连接UEngine或其他手机,请使用 1.2.0
|
||||||
|
以前的版本。(如需连接UEngine请安装adb补丁)</strong> </p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<hr />
|
<hr />
|
||||||
<h2 id='详细帮助'>详细帮助</h2>
|
<h2 id='详细帮助'>详细帮助</h2>
|
||||||
@@ -17,16 +27,20 @@
|
|||||||
<ol start=''>
|
<ol start=''>
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
||||||
<li>点击浏览按钮,找到想要安装的Apk<br/><img src="1-1-2.png" referrerpolicy="no-referrer"> </li>
|
<li>点击浏览按钮,找到想要安装的Apk<br/><img src="1-1-2.png" referrerpolicy="no-referrer"> </li>
|
||||||
<li>点击安装按钮,输入密码
|
<li>点击安装按钮,输入密码<br>
|
||||||
<img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
<img src="1-1-3.png" referrerpolicy="no-referrer">
|
||||||
<li>提示“操作完成”,在启动器找到新安装的图标启动即可<br/><img src="1-1-4.png" referrerpolicy="no-referrer"><br/><img src="1-1-5.png" referrerpolicy="no-referrer"> </li>
|
</li>
|
||||||
|
<li>提示“操作完成”,在启动器找到新安装的图标启动即可<br/><img src="1-1-4.png" referrerpolicy="no-referrer"><br/><img src="1-1-5.png"
|
||||||
|
referrerpolicy="no-referrer"> </li>
|
||||||
|
|
||||||
</ol>
|
</ol>
|
||||||
<h4 id='方法二-1'>方法二</h4>
|
<h4 id='方法二-1'>方法二</h4>
|
||||||
<ol start=''>
|
<ol start=''>
|
||||||
<li>打开要安装的Apk所在目录,右击=>打开方式=>安装或卸载 APK(UEngine 运行器)<br/><img src="1-2-1.png" referrerpolicy="no-referrer"> </li>
|
<li>打开要安装的Apk所在目录,右击=>打开方式=>安装或卸载 APK(UEngine 运行器)<br/><img src="1-2-1.png" referrerpolicy="no-referrer">
|
||||||
|
</li>
|
||||||
<li>点击安装按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
<li>点击安装按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
||||||
<li>提示“操作完成”,在启动器找到新安装的图标启动即可<br/><img src="1-1-4.png" referrerpolicy="no-referrer"><br/><img src="1-2-2.png" referrerpolicy="no-referrer"> </li>
|
<li>提示“操作完成”,在启动器找到新安装的图标启动即可<br/><img src="1-1-4.png" referrerpolicy="no-referrer"><br/><img src="1-2-2.png"
|
||||||
|
referrerpolicy="no-referrer"> </li>
|
||||||
|
|
||||||
</ol>
|
</ol>
|
||||||
<h3 id='卸载apk'>卸载Apk</h3>
|
<h3 id='卸载apk'>卸载Apk</h3>
|
||||||
@@ -40,7 +54,8 @@
|
|||||||
</ol>
|
</ol>
|
||||||
<h4 id='方法二-2'>方法二</h4>
|
<h4 id='方法二-2'>方法二</h4>
|
||||||
<ol start=''>
|
<ol start=''>
|
||||||
<li>打开要安装的Apk所在目录,右击=>打开方式=>安装或卸载 APK(UEngine 运行器)<br/><img src="1-2-1.png" referrerpolicy="no-referrer"> </li>
|
<li>打开要安装的Apk所在目录,右击=>打开方式=>安装或卸载 APK(UEngine 运行器)<br/><img src="1-2-1.png" referrerpolicy="no-referrer">
|
||||||
|
</li>
|
||||||
<li>点击卸载按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
<li>点击卸载按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
||||||
<li>提示“操作完成”,卸载完成<br/><img src="1-1-4.png" referrerpolicy="no-referrer"> </li>
|
<li>提示“操作完成”,卸载完成<br/><img src="1-1-4.png" referrerpolicy="no-referrer"> </li>
|
||||||
|
|
||||||
@@ -56,7 +71,9 @@
|
|||||||
<ol start=''>
|
<ol start=''>
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
||||||
<li>点击“Apk 信息” 按钮即可查询Apk信息
|
<li>点击“Apk 信息” 按钮即可查询Apk信息
|
||||||
<img src="1-3-1.png" referrerpolicy="no-referrer"></li>
|
<br>
|
||||||
|
<img src="1-3-1.png" referrerpolicy="no-referrer">
|
||||||
|
</li>
|
||||||
<li>点击“查看程序评分情况”即可查看其他用户对程序的评分</li>
|
<li>点击“查看程序评分情况”即可查看其他用户对程序的评分</li>
|
||||||
|
|
||||||
</ol>
|
</ol>
|
||||||
@@ -160,6 +177,14 @@
|
|||||||
<p> </p>
|
<p> </p>
|
||||||
<p> </p>
|
<p> </p>
|
||||||
<p> </p>
|
<p> </p>
|
||||||
<p> ©2021-2022</p>
|
<script>
|
||||||
|
function UpdateTime() {
|
||||||
|
var d = new Date();
|
||||||
|
document.getElementById("time").innerHTML = "©2021~" + d.getFullYear() + " gfdgd xi、为什么您不喜欢熊出没和阿布呢";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<hr>
|
||||||
|
<h1 id="time"> ©2021-2022</h1>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
0
Help/index.md
Normal file → Executable file
80
Language.json
Normal file → Executable file
@@ -13,6 +13,33 @@
|
|||||||
"Btngeticon": "保存图标",
|
"Btngeticon": "保存图标",
|
||||||
"BtnSaveApk": "保存Apk",
|
"BtnSaveApk": "保存Apk",
|
||||||
"BtnApkInformation": "Apk 信息",
|
"BtnApkInformation": "Apk 信息",
|
||||||
|
"Error": {
|
||||||
|
"InstallError": "信息没有填写完整,无法继续安装 APK",
|
||||||
|
"UninstallError": "信息没有填写完整,无法继续卸载 APK",
|
||||||
|
"BackApkError": "无法还原安装包\n提示:新版UEngine安装后会自动删除安装包,备份的Apk在/tmp/uengine-runner/bak.apk,电脑重启后就会丢失!",
|
||||||
|
"ChooseApkError": "你没有选择 apk 文件",
|
||||||
|
"SaveApkIconError": "本程序不支持保存该 apk 的图标",
|
||||||
|
"PathError": "路径不存在,请重试!",
|
||||||
|
"SettingReadError": "读取设置错误!无法打开设置窗口!",
|
||||||
|
"SettingSaveError": "保存设置错误!",
|
||||||
|
"ConnectServerError": "无法连接服务器!",
|
||||||
|
"ConnectServerStarError": "无法连接服务器!无法进行评分!",
|
||||||
|
"ApkFileError": "该应用安装包异常,无法查询相关数据!",
|
||||||
|
"InputDataError": "你输入的数值不正确!"
|
||||||
|
},
|
||||||
|
"Information": {
|
||||||
|
"Title": "提示",
|
||||||
|
"CompleteInformation": "完成"
|
||||||
|
},
|
||||||
|
"Answer": {
|
||||||
|
"Title": "提示",
|
||||||
|
"AllowOrDisallowUpdateAndroidAppAnswer": [
|
||||||
|
"你确定要启用 UEngine 可以安装以及使用默认的更新程序升级应用?(即允许未知来源)",
|
||||||
|
"你确定要禁用 UEngine 可以安装以及使用默认的更新程序升级应用?(即禁止未知来源)"
|
||||||
|
],
|
||||||
|
"UseAdbPackageAnswer": "你没有安装 adb 补丁,必须安装才能继续。是否安装?",
|
||||||
|
"CompleteInformation": "设置完毕"
|
||||||
|
},
|
||||||
"Menu": [
|
"Menu": [
|
||||||
{
|
{
|
||||||
"Name": "程序",
|
"Name": "程序",
|
||||||
@@ -105,7 +132,12 @@
|
|||||||
"构建 UEngine 带最高权限的镜像到用户主目录",
|
"构建 UEngine 带最高权限的镜像到用户主目录",
|
||||||
"安装默认的 UEngine 镜像"
|
"安装默认的 UEngine 镜像"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"在 Ubuntu 上安装 UEngine",
|
||||||
|
"启动/禁用UEngine安装的安卓程序程序更新(需要安装 adb 补丁)",
|
||||||
|
"在 Ubuntu 上安装 UEngine",
|
||||||
|
"设置 UEngine 代理(需要安装 adb 补丁)",
|
||||||
|
"设置 UEngine 指定应用窗口大小"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -115,7 +147,8 @@
|
|||||||
"关于",
|
"关于",
|
||||||
"反馈程序问题和建议",
|
"反馈程序问题和建议",
|
||||||
"检查更新",
|
"检查更新",
|
||||||
"更多帮助"
|
"更多帮助",
|
||||||
|
"关于 Qt"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -127,6 +160,7 @@
|
|||||||
"button2": "浏览",
|
"button2": "浏览",
|
||||||
"button3": " 打包",
|
"button3": " 打包",
|
||||||
"check": "使用前缀“uengine-dc”",
|
"check": "使用前缀“uengine-dc”",
|
||||||
|
"size": "从 UEngine 导入程序大小设置(如果有设置)",
|
||||||
"Menu": [
|
"Menu": [
|
||||||
{
|
{
|
||||||
"Name": "程序",
|
"Name": "程序",
|
||||||
@@ -150,6 +184,33 @@
|
|||||||
"Btngeticon": "Save Apk Icon",
|
"Btngeticon": "Save Apk Icon",
|
||||||
"BtnSaveApk": "Saving Installed App Apk",
|
"BtnSaveApk": "Saving Installed App Apk",
|
||||||
"BtnApkInformation": "Apk Information",
|
"BtnApkInformation": "Apk Information",
|
||||||
|
"Error": {
|
||||||
|
"InstallError": "You don't input the APK file path, Can't install Android program by now.",
|
||||||
|
"UninstallError": "You don't input the APK file path or android program package name, Can't uninstall Android program by now.",
|
||||||
|
"BackApkError": "Can't recover the apk\nTips: Newer UEngine will delete the APK installing file when finish install, recover apk is in \"tmp/uengine-runner/bak.apk\", but it will be lose when you restart your computer.",
|
||||||
|
"ChooseApkError": "You don't choose any APK file.",
|
||||||
|
"SaveApkIconError": "This APK file isn't allow to save the icon file.",
|
||||||
|
"PathError": "Path not found, please try again",
|
||||||
|
"SettingReadError": "Read user setting error! Can't to continue to set!",
|
||||||
|
"SettingSaveError": "Setting can't save",
|
||||||
|
"ConnectServerError": "Can't connect the cloud server!",
|
||||||
|
"ConnectServerStarError": "Can't connect the cloud server! So can't give star for the app!",
|
||||||
|
"ApkFileError": "This apk file is error and can't find any data about the apk file!",
|
||||||
|
"InputDataError": "Your input error data!"
|
||||||
|
},
|
||||||
|
"Information": {
|
||||||
|
"Title": "Tips",
|
||||||
|
"CompleteInformation": "Complete!"
|
||||||
|
},
|
||||||
|
"Answer": {
|
||||||
|
"Title": "Tips",
|
||||||
|
"AllowOrDisallowUpdateAndroidAppAnswer": [
|
||||||
|
"Are you sure to allow UEngine to install or update other android program? (Allow )(即允许未知来源)",
|
||||||
|
"Are you sure to disallow UEngine to install or update other android program? (Allow )(即允许未知来源)"
|
||||||
|
],
|
||||||
|
"UseAdbPackageAnswer": "You don't install adb package with UEngine, you must install, and after install you can connect to set.\nDo you want to install?",
|
||||||
|
"CompleteInformation": "Set Completed"
|
||||||
|
},
|
||||||
"Menu": [
|
"Menu": [
|
||||||
{
|
{
|
||||||
"Name": "Program",
|
"Name": "Program",
|
||||||
@@ -242,17 +303,23 @@
|
|||||||
"Build An UEngine Image With Root User In Your Home Path",
|
"Build An UEngine Image With Root User In Your Home Path",
|
||||||
"Install Defult UEngine Image"
|
"Install Defult UEngine Image"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"Install UEngine On Ubuntu",
|
||||||
|
"Allow/Disallow UEngine To Install Or Update Other Android Program (Need Install Adb Patch)",
|
||||||
|
"Install UEngine On Ubuntu",
|
||||||
|
"Set UEngine Http Proxy (Need Install Adb Patch)",
|
||||||
|
"Set UEngine Some Android Windows Size"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name": "About",
|
"Name": "About",
|
||||||
"Menu": [
|
"Menu": [
|
||||||
"Program WebSize",
|
"Program WebSize",
|
||||||
"Program Help",
|
"About This Program",
|
||||||
"Upload Problem And Advice",
|
"Upload Problem And Advice",
|
||||||
"ABout This Program",
|
"Update This Program",
|
||||||
"More Help"
|
"More Help",
|
||||||
|
"About Qt"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -264,6 +331,7 @@
|
|||||||
"button2": "Find",
|
"button2": "Find",
|
||||||
"button3": " Build",
|
"button3": " Build",
|
||||||
"check": "Use Prefix With \"uengine-dc\"",
|
"check": "Use Prefix With \"uengine-dc\"",
|
||||||
|
"size": "Add Android Program Size Setting From UEngine (If you're setting)",
|
||||||
"Menu": [
|
"Menu": [
|
||||||
{
|
{
|
||||||
"Name": "Program",
|
"Name": "Program",
|
||||||
|
|||||||
59
Makefile
Executable file
@@ -0,0 +1,59 @@
|
|||||||
|
build:
|
||||||
|
echo "Build DEB..."
|
||||||
|
cp -rv information.json new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv mainwindow.py new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner
|
||||||
|
cp -rv Language.json new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-window-size-setting.py new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-keyboard new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-apk-builder new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-useadb new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-runner-update-bug new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-runner-applist-launch.sh new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv launch.sh new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-installer new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv LICENSE new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-runner-launch.sh new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-runner-about new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-clean new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-app-uninstall new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-app-setting.py new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine-app-install new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv uengine_logo.svg new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv defult.svg new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv defult.png new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv runner.svg new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv root-uengine.sh new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv menu.svg new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv icon.png new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv getxmlimg.py new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv defult.svg new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv builer.svg new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv api new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv Help new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv pkexec/* new-deb-build/usr/share/polkit-1/actions
|
||||||
|
python3 RemovePycacheFile.py
|
||||||
|
cp -rv new-deb-build /tmp/uengine-runner-builder
|
||||||
|
sudo chown -R root:root /tmp/uengine-runner-builder
|
||||||
|
dpkg -b /tmp/uengine-runner-builder com.gitee.uengine.runner.spark.deb
|
||||||
|
sudo rm -rfv /tmp/uengine-runner-builder
|
||||||
|
|
||||||
|
install:
|
||||||
|
make build
|
||||||
|
echo "Install..."
|
||||||
|
sudo apt update
|
||||||
|
#sudo dpkg -i com.gitee.uengine.runner.spark.deb | true
|
||||||
|
#sudo apt install -f
|
||||||
|
sudo apt reinstall ./com.gitee.uengine.runner.spark.deb
|
||||||
|
|
||||||
|
depend:
|
||||||
|
sudo apt install python3 python3-tk python3-pip aapt \
|
||||||
|
python3-setuptools deepin-terminal curl python3-pil\
|
||||||
|
python3-requests adb fonts-noto-cjk python3-numpy\
|
||||||
|
python3-matplotlib wget inotify-tools aria2 python3-pyqt5
|
||||||
|
python3 -m pip install --upgrade pip --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
|
||||||
|
python3 -m pip install --upgrade ttkthemes --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
|
||||||
|
python3 -m pip install --upgrade pyautogui --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
|
||||||
|
python3 -m pip install --upgrade keyboard --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
|
||||||
|
|
||||||
|
run:
|
||||||
|
python3 mainwindow.py
|
||||||
241
README.md
@@ -1,37 +1,158 @@
|
|||||||
# UEngine 运行器 1.6.0
|
<p width=100px align="center"><img src="runner.svg"></p>
|
||||||
|
<h1 align="center">UEngine 运行器 1.8.3</h1>
|
||||||
|
<hr>
|
||||||
|
<p align='center'><a href='https://gitee.com/gfdgd-xi/uengine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/uengine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
||||||
|
<a href='https://gitee.com/gfdgd-xi/uengine-runner/members'><img src='https://gitee.com/gfdgd-xi/uengine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
||||||
|
|
||||||
### 介绍
|
### 介绍
|
||||||
|
|
||||||
新版本Deepin/UOS发布后,可以在应用商店安装部分官方已适配的安卓应用,对爱好者来说,不能自己安装APK软件包始终差点意思,本程序可以为Deepin/UOS上的UEngine安卓运行环境安装自定义APK软件包,并能发送安装的APK包启动菜单到桌面或系统菜单。
|
新版本Deepin/UOS发布后,可以在应用商店安装部分官方已适配的安卓应用,对爱好者来说,不能自己安装APK软件包始终差点意思,本程序可以为Deepin/UOS上的UEngine安卓运行环境安装自定义APK软件包,并能发送安装的APK包启动菜单到桌面或系统菜单。
|
||||||

|

|
||||||
(测试平台:UOS 家庭版 21.1,deepin 20.4,UOS 专业版 1040)
|
|
||||||
(自己美术功底太差,图标直接用 anbox 的了)
|
(测试平台:UOS 家庭版 21.3.1,deepin 20.8,UOS 专业版 1050)
|
||||||
|
|
||||||
## 安装前必读
|
## 安装前必读
|
||||||
+ releases 里有两个 deb 包,**是一样的除了包名和打包标准不同**,**只能选择其中一个安装**,**两个都安装会产生冲突**,两个deb包的作用如下:
|
|
||||||
- 包名为`spark-uengine-runner`的,是旧包,按照**正常标准打包**,适用于从**星火应用商店安装**以及**从低版本(即1.3.2即以下版本升级上来的用户)升级**或者**之前就安装该版本的用户**甚至**想跨平台的用户**等等
|
+ **UEngine 安装时会自动把要安装的 apk 删除**,如果这个 apk 文件非常重要请**拷贝一个备份版并安装这个备份版或者在程序设置里面选择“备份APK包然后在安装后自动拷贝原先目录”选项**
|
||||||
- 包名为`com.gitee.uengine.runner.spark`的,是按照**deepin/UOS的标准打包的**,适用于**之前就安装该版本并升级上来的用户**以及**希望按照该方法打包的用户**等等
|

|
||||||
+ **近期升级的 UEngine 安装时会自动把要安装的 apk 删除**,如果这个 apk 文件非常重要请**拷贝一个备份版并安装这个备份版**
|
|
||||||
|
## 如何升级至最新版本
|
||||||
|
|
||||||
|
### 一、使用星火应用商店更新到最新版本
|
||||||
|
|
||||||
|
**1、打开星火应用商店并打开到对应的界面,点击“升级”**
|
||||||
|

|
||||||
|
**2、然后安装**
|
||||||
|

|
||||||
|
**3、结束**
|
||||||
|
|
||||||
|
### 二、通过源更新(需要添加星火应用商店源)
|
||||||
|
|
||||||
|
输入以下命令即可:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 三、使用程序自带的更新程序更新
|
||||||
|
|
||||||
|
**1、打开 UEngine 运行器然后点击“关于”=>“检查更新”,点击“更新(更新过程中会关闭所有Python应用,包括这个应用)”**
|
||||||
|

|
||||||
|
**2、输入密码进行更新**
|
||||||
|

|
||||||
|
**3、提示更新完毕即可**
|
||||||
|

|
||||||
|
|
||||||
### 更新内容
|
### 更新内容
|
||||||
|
|
||||||
|
#### V1.8.3(2022年12月18日)
|
||||||
|
**※1、修复安装/打包程序时出现找不到图标的问题;**
|
||||||
|
**※2、修复部分无法正确获取程序中文名和 Activity 的问题;**
|
||||||
|
**※3、修复在运行器内打开打包器不会自动填充打包器 APK 路径;**
|
||||||
|
**※4、问题反馈新增论坛反馈入口。**
|
||||||
|

|
||||||
|
|
||||||
|
#### V1.8.2(2022年11月28日)
|
||||||
|
|
||||||
|
**※1、重新恢复 uengine-installer For Ubuntu**
|
||||||
|
**※2、修复 postrm 的问题**
|
||||||
|
**※3、修复“添加UEngine应用快捷方式出现问题”的问题**
|
||||||
|
**※4、修复打包器无参数问题**
|
||||||
|
**※5、打包器默认勾选“使用 uengine-dc 前缀”**
|
||||||
|
6、修复Python主版本号判断时潜在的问题(By Bail)
|
||||||
|
7、新增部分资源入口
|
||||||
|

|
||||||
|
|
||||||
|
#### V1.8.1-1(2022年09月03日)
|
||||||
|
|
||||||
|
**※1、修复缺失依赖 python3-matplotlib 导致程序无法开启的问题**
|
||||||
|
**※2、移除在 Ubuntu 上用于安装 UEngine 的安装工具**
|
||||||
|
**※3、解决了未输入密码自动回车的 bug**
|
||||||
|
|
||||||
|
#### V1.8.1(2022年08月30日)
|
||||||
|
|
||||||
|
**※1、修复在 APK 详细信息中图标可能过大导致无法正常使用的问题**
|
||||||
|
**※2、修复 APK 路径带空格无法正常安装的问题**
|
||||||
|
3、修复打包器打包的 APK 带下划线“_”无法正常打包的问题
|
||||||
|
4、修复打包器下方命令返回过多空白行的问题
|
||||||
|
5、修复程序生成的默认图标任然是旧版图标的问题
|
||||||
|

|
||||||
|
|
||||||
|
#### V1.8.0(2022年07月27日)
|
||||||
|
|
||||||
|
**※1、程序界面大部分由 Tkinter 转 PyQt5**
|
||||||
|
**※2、添加了自动/手动配置 UEngine 窗口大小文件(自动需要在设置里手动开启,配置窗口的配置文件需要 Root)**
|
||||||
|
**※3、增加了安装/卸载失败后的提示**
|
||||||
|
**※4、补回谢明名单**
|
||||||
|
**※5、支持免密安装/卸载 APK**
|
||||||
|
6、pip 更换华为源,提升下载速度
|
||||||
|
7、新增主题功能
|
||||||
|
8、支持在安装 APK 后手动指定分类(手动指定需要在设置里手动开启)
|
||||||
|

|
||||||
|
|
||||||
|
#### V1.7.0(2022年07月08日,暑假开始)
|
||||||
|
|
||||||
|
**※1、新增暗黑主题**
|
||||||
|
**※2、优化 deepin-terminal 在其它发行版显示奇奇怪怪的问题**
|
||||||
|
**※3、修复 UEngine 安装脚本在安装时不让用户选择,直接默认 N 无法安装的问题**
|
||||||
|
4、新增设置 UEngine 代理的功能
|
||||||
|
5、将执行命令和打包器的返回输出从命令结束后显示输出内容改为实时显示内容
|
||||||
|

|
||||||
|
|
||||||
|
#### V1.6.2(2022年06月21日,中考假期+即将期末考试)
|
||||||
|
|
||||||
|
**※1、优化了 UEngine 运行器的英语翻译**
|
||||||
|
**※2、新增加了可以打开或关闭第三方应用安装的功能(使用此功能后在UEngine里可以使用默认的APK安装程序安装应用,此操作需要使用程序的Adb补丁)**
|
||||||
|
**※3、新增加了 UEngine 的 Ubuntu 安装程序**
|
||||||
|
**※4、双包合一,只保留了UOS打包标准,可以从旧标准无缝升级(推荐使用本程序的升级程序进行升级)**
|
||||||
|
5、修复了本程序在 Ubuntu 上安装和卸载报错而无法继续的问题
|
||||||
|
6、优化帮助/关于窗口在高分辨率电脑上显示不全的问题
|
||||||
|

|
||||||
|
|
||||||
|
#### V1.6.1(2022年05月21日,521)
|
||||||
|
|
||||||
|
**※1、修复了打包 deb 包在 APK 的包名有大写时无法启动的问题**
|
||||||
|
**※2、提供新版本的 UEngine Root 镜像**
|
||||||
|
**※3、更新了 UEngine Root 的下载地址**
|
||||||
|
**※4、修复了本程序的“UEngine 键盘映射”无法启动的问题**
|
||||||
|
5、把构建 UEngine Root 镜像修改为多线程下载(wget=>aria2)
|
||||||
|
6、提供了 UEngine 运行器的 API(可以从项目地址中获取)
|
||||||
|
7、补上遗漏的项目参与者“星空露光”,新加参与者
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
#### V1.6.0(开学版,开学前一天完成)
|
#### V1.6.0(开学版,开学前一天完成)
|
||||||
|
|
||||||
**※1、更换了新的图标已完成(感谢[@星空露光](https://gitee.com/Cynorkyle))**
|
**※1、更换了新的图标已完成(感谢[@星空露光](https://gitee.com/Cynorkyle))**
|
||||||
**※2、支持程序的评分和查看分数详情的功能(如果炸了我的服务器,这个就作废了)**
|
**※2、支持程序的评分和查看分数详情的功能**
|
||||||
**※3、修复了在安装奇奇怪怪的安装包(如格式、标识不正确的)时的快捷方式图标为空以及快捷方式文本的变化**
|
**※3、修复了在安装奇奇怪怪的安装包(如格式、标识不正确的)时的快捷方式图标为空以及快捷方式文本的变化**
|
||||||
**※4、添加更新功能,可以自行升级到最新版本(如果炸了我的服务器,这个就作废了)**
|
**※4、添加更新功能,可以自行升级到最新版本**
|
||||||
**※5、新增程序帮助**
|
**※5、新增程序帮助**
|
||||||
6、新填彩蛋(在“关于”=>“关于”显示的窗口双击“关于”开启)(如果炸了我的服务器,这个就作废了)
|
6、新填彩蛋(在“关于”=>“关于”显示的窗口双击“关于”开启)
|
||||||
7、修复了“UEngine 打包器”前缀选项勾选设置不生效的问题
|
7、修复了“UEngine 打包器”前缀选项勾选设置不生效的问题
|
||||||
|
8、修复了“UEngine 打包器” 打包的安装包版本号带 V 无法打包的情况
|
||||||

|

|
||||||
|
|
||||||
#### V1.5.3(2021-12-12,DDUC11版):
|
#### V1.5.3(2021-12-12,DDUC11版):
|
||||||
|
|
||||||
##### 更新内容
|
##### 更新内容
|
||||||
|
|
||||||
**※1、修复了在 UOS 家庭版安装 apk 文件安装包信息为 None 的问题**
|
**※1、修复了在 UOS 家庭版安装 apk 文件安装包信息为 None 的问题**
|
||||||
**※2、“添加/删除 UEngine 图标”窗口的写入按钮在目录** `~/.local/share/icons/hicolor/256x256/apps`**不存在时点击无反应,参考报错1.5.3-1**
|
**※2、“添加/删除 UEngine 图标”窗口的写入按钮在目录** `~/.local/share/icons/hicolor/256x256/apps`**不存在时点击无反应,参考报错1.5.3-1**
|
||||||
**※3、修复了“UEngine APK 应用打包器”打包的deb包的.desktop文件的** `Icon`**和** `Exec`**字段有误的问题以及使用“使用前缀‘uengine-dc’”前缀的问题**
|
**※3、修复了“UEngine APK 应用打包器”打包的deb包的.desktop文件的** `Icon`**和** `Exec`**字段有误的问题以及使用“使用前缀‘uengine-dc’”前缀的问题**
|
||||||
4、“UEngine APK 应用打包器”支持打包完后自动删除临时目录
|
4、“UEngine APK 应用打包器”支持打包完后自动删除临时目录
|
||||||
5、“UEngine APK 应用打包器”以及“添加/删除 UEngine 图标”支持在运行出现错误时显示报错
|
5、“UEngine APK 应用打包器”以及“添加/删除 UEngine 图标”支持在运行出现错误时显示报错
|
||||||
|
|
||||||
##### 报错:
|
##### 报错:
|
||||||
|
|
||||||
*1.5.3-1*
|
*1.5.3-1*
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
Exception in Tkinter callback
|
Exception in Tkinter callback
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
@@ -45,15 +166,19 @@ Traceback (most recent call last):
|
|||||||
with open(dst, 'wb') as fdst:
|
with open(dst, 'wb') as fdst:
|
||||||
FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/share/icons/hicolor/256x256/apps/com.miHoYo.cloudgames.ys.png'
|
FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/share/icons/hicolor/256x256/apps/com.miHoYo.cloudgames.ys.png'
|
||||||
```
|
```
|
||||||
|
|
||||||
##### 截图
|
##### 截图
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### V1.5.2(2021-11-28):
|
#### V1.5.2(2021-11-28):
|
||||||
|
|
||||||
**※1、支持安装和构建带 Root 的 UEngine 的镜像**
|
**※1、支持安装和构建带 Root 的 UEngine 的镜像**
|
||||||
2、更新了反馈链接
|
2、更新了反馈链接
|
||||||

|

|
||||||
|
|
||||||
#### V1.5.1(2021-10-05,国庆节版):
|
#### V1.5.1(2021-10-05,国庆节版):
|
||||||
|
|
||||||
**※1、精简用户界面,合并安装和卸载输入框和浏览按钮等**
|
**※1、精简用户界面,合并安装和卸载输入框和浏览按钮等**
|
||||||
**※2、修复安装以其的程序图标无法点击进入的问题(deepin 社区版不存在此问题)**
|
**※2、修复安装以其的程序图标无法点击进入的问题(deepin 社区版不存在此问题)**
|
||||||
**※3、支持在程序本体反馈问题**
|
**※3、支持在程序本体反馈问题**
|
||||||
@@ -65,12 +190,14 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.5.0(2021-09-21,中秋节版):
|
#### V1.5.0(2021-09-21,中秋节版):
|
||||||
|
|
||||||
**没有什么实质性的功能,只是开始有多语言支持**
|
**没有什么实质性的功能,只是开始有多语言支持**
|
||||||
**※1、部分窗口支持英语**
|
**※1、部分窗口支持英语**
|
||||||
2、修复在英语状态下启动器图标名称异常的问题
|
2、修复在英语状态下启动器图标名称异常的问题
|
||||||

|

|
||||||
|
|
||||||
#### V1.4.3(2021-09-11,开学第一版):
|
#### V1.4.3(2021-09-11,开学第一版):
|
||||||
|
|
||||||
**※1、支持打包器打包的包名带前缀“uengine-dc”**
|
**※1、支持打包器打包的包名带前缀“uengine-dc”**
|
||||||
**※2、修复了两种情况可能导致程序卡住/出错无法继续运行的情况(配置文件夹不齐全和获取版本信息卡住两种情况)**
|
**※2、修复了两种情况可能导致程序卡住/出错无法继续运行的情况(配置文件夹不齐全和获取版本信息卡住两种情况)**
|
||||||
**※3、修改了 UEngine 打包器打包的应用包名可能有大写的情况**
|
**※3、修改了 UEngine 打包器打包的应用包名可能有大写的情况**
|
||||||
@@ -79,6 +206,7 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.4.2(2021-08-30,快开学了):
|
#### V1.4.2(2021-08-30,快开学了):
|
||||||
|
|
||||||
**※1、添加adb破解补丁(用于可以让adb连接UEngine)并支持adb的部分操作;**
|
**※1、添加adb破解补丁(用于可以让adb连接UEngine)并支持adb的部分操作;**
|
||||||
2、菜单栏的项目添加以及外观优化;
|
2、菜单栏的项目添加以及外观优化;
|
||||||
3、修复键盘映射无法添加新映射的问题并修改键盘映射启动方式;
|
3、修复键盘映射无法添加新映射的问题并修改键盘映射启动方式;
|
||||||
@@ -88,11 +216,13 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.4.1(2021-08-26):
|
#### V1.4.1(2021-08-26):
|
||||||
|
|
||||||
**※1、初步支持键盘映射**
|
**※1、初步支持键盘映射**
|
||||||
2、修复新版包在发送uengine列表快捷方式时会提示找不到文件
|
2、修复新版包在发送uengine列表快捷方式时会提示找不到文件
|
||||||

|

|
||||||
|
|
||||||
#### V1.4.0(2021-08-19):
|
#### V1.4.0(2021-08-19):
|
||||||
|
|
||||||
**※1、添加新版打包方式(deepin打包方式);**
|
**※1、添加新版打包方式(deepin打包方式);**
|
||||||
**※2、支持测试运行/创建/删除uengine图标;**
|
**※2、支持测试运行/创建/删除uengine图标;**
|
||||||
**※3、支持提取安装的apk;**
|
**※3、支持提取安装的apk;**
|
||||||
@@ -104,6 +234,7 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.3.2(2021-08-16):
|
#### V1.3.2(2021-08-16):
|
||||||
|
|
||||||
**※1、支持uengine数据重置;**
|
**※1、支持uengine数据重置;**
|
||||||
**※2、支持修改uengine网络桥接的启动状态;**
|
**※2、支持修改uengine网络桥接的启动状态;**
|
||||||
**※3、支持右键安装/卸载;**
|
**※3、支持右键安装/卸载;**
|
||||||
@@ -112,11 +243,13 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.3.1(2021-08-12):
|
#### V1.3.1(2021-08-12):
|
||||||
|
|
||||||
**※1、修复打包问题,防止部分用户安装出错的问题;**
|
**※1、修复打包问题,防止部分用户安装出错的问题;**
|
||||||
**※2、修复了程序无法提取图标时可以提取默认图标使用;**
|
**※2、修复了程序无法提取图标时可以提取默认图标使用;**
|
||||||

|

|
||||||
|
|
||||||
#### V1.3.0(2021-08-08):
|
#### V1.3.0(2021-08-08):
|
||||||
|
|
||||||
**※1、修改了界面布局;**
|
**※1、修改了界面布局;**
|
||||||
**※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs;**
|
**※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs;**
|
||||||
3、删除少量冗余代码,调整代码顺序;
|
3、删除少量冗余代码,调整代码顺序;
|
||||||
@@ -124,17 +257,20 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.2.3(2021-08-02):
|
#### V1.2.3(2021-08-02):
|
||||||
|
|
||||||
1、调整部分控件名称;
|
1、调整部分控件名称;
|
||||||
2、调整界面布局及界面风格;
|
2、调整界面布局及界面风格;
|
||||||

|

|
||||||
|
|
||||||
#### V1.2.2(2021-07-11):
|
#### V1.2.2(2021-07-11):
|
||||||
|
|
||||||
1、对程序错误的显示更加人性化;
|
1、对程序错误的显示更加人性化;
|
||||||
2、对 icon 的获取方式进行了升级;
|
2、对 icon 的获取方式进行了升级;
|
||||||
3、增加了注释、删除部分冗余代码。
|
3、增加了注释、删除部分冗余代码。
|
||||||

|

|
||||||
|
|
||||||
#### V1.2.1(2021-07-02):
|
#### V1.2.1(2021-07-02):
|
||||||
|
|
||||||
**※1、进行了安装方式的修改(不使用 adb),修复原无法安装和卸载的问题;**
|
**※1、进行了安装方式的修改(不使用 adb),修复原无法安装和卸载的问题;**
|
||||||
2、进行了部分优化;
|
2、进行了部分优化;
|
||||||
3、进行了功能缩水;
|
3、进行了功能缩水;
|
||||||
@@ -142,6 +278,7 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.2.0(2021-06-06):
|
#### V1.2.0(2021-06-06):
|
||||||
|
|
||||||
1、支持安装自动添加快捷方式、卸载删除快捷方式;
|
1、支持安装自动添加快捷方式、卸载删除快捷方式;
|
||||||
2、支持使用包名或 APK 文件卸载程序;
|
2、支持使用包名或 APK 文件卸载程序;
|
||||||
3、支持查看安装的所有包名;
|
3、支持查看安装的所有包名;
|
||||||
@@ -149,6 +286,7 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.1.0(2021-05-30):
|
#### V1.1.0(2021-05-30):
|
||||||
|
|
||||||
1、修改了因编写时出现的中、英文混用的情况
|
1、修改了因编写时出现的中、英文混用的情况
|
||||||
2、支持一键连接默认 IP
|
2、支持一键连接默认 IP
|
||||||
3、修复在不连接设备直接选择 apk 安装时会卡住的问题
|
3、修复在不连接设备直接选择 apk 安装时会卡住的问题
|
||||||
@@ -157,21 +295,17 @@ FileNotFoundError: [Errno 2] No such file or directory: '/home/gfdgd_xi/.local/s
|
|||||||

|

|
||||||
|
|
||||||
#### V1.0.0(2021-05-29):
|
#### V1.0.0(2021-05-29):
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 源码安装教程
|
### 源码安装教程
|
||||||
按下 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>T</kbd> 打开终端,按以下内容操作:
|
|
||||||
|
按下 `<kbd>`Ctrl`</kbd>`+`<kbd>`Alt`</kbd>`+`<kbd>`T`</kbd>` 打开终端,按以下内容操作:
|
||||||
|
|
||||||
1. 安装所需依赖
|
1. 安装所需依赖
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install deepin-elf-verify python3 python3-tk python3-pip
|
sudo apt install make
|
||||||
sudo apt install aapt uengine python3-setuptools deepin-terminal curl
|
|
||||||
sudo apt install python3-pil python3-pil.imagetk python3-requests adb
|
|
||||||
sudo apt install translate-shell python3-xlib python3-requests fonts-noto-cjk python3-numpy
|
|
||||||
python3 -m pip install pip -U
|
|
||||||
python3 -m pip install --upgrade ttkthemes -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
python3 -m pip install --upgrade pyautogui -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
python3 -m pip install --upgrade keyboard -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 下载本程序
|
2. 下载本程序
|
||||||
@@ -183,85 +317,92 @@ git clone https://gitee.com/gfdgd-xi/uengine-runner.git
|
|||||||
3. 运行本程序
|
3. 运行本程序
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir /opt/apps/uengine-runner
|
cd uengine-runner
|
||||||
sudo cp uengine-runner /opt/apps/uengine-runner -rv
|
make run
|
||||||
sudo cp getxmlimg.py /opt/apps/uengine-runner -rv
|
|
||||||
sudo cp icon.png /opt/apps/uengine-runner -rv
|
|
||||||
chmod 777 /opt/apps/uengine-runner/main.py
|
|
||||||
sudo cp /opt/apps/uengine-runner/main.py /usr/bin/uengine-runner
|
|
||||||
./main.py
|
|
||||||
```
|
```
|
||||||
|
|
||||||
4. 卸载本程序
|
如果你想要安装到系统,只需要输入:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo rm /usr/bin/uengine-runner -v
|
make install
|
||||||
sudo rm /opt/apps/uengine-runner/ -rfv
|
|
||||||
pip3 uninstall ttkthemes
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
即可
|
||||||
|
|
||||||
### 使用说明
|
### 使用说明
|
||||||
|
|
||||||
1、需要你有使用 root 权限的能力;
|
1、需要你有使用 root 权限的能力;
|
||||||
2、需要安装 UEngine 才能使用,UOS建议在商店安装一个安卓应用,让系统自动安装 UEngine 及相关的依赖包;
|
2、需要安装 UEngine 才能使用,UOS建议在商店安装一个安卓应用,让系统自动安装 UEngine 及相关的依赖包;
|
||||||
3、提取 apk 图标的 apk 路径以“安装 apk”那栏为准;
|
3、提取 apk 图标的 apk 路径以“安装 apk”那栏为准;
|
||||||
4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。
|
4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。
|
||||||
|
|
||||||
### 故障排除
|
### 故障排除
|
||||||
|
|
||||||
提 issue 最好,当然有些问题自己无法解决,请大佬 push 一下
|
提 issue 最好,当然有些问题自己无法解决,请大佬 push 一下
|
||||||
如果出现故障,尝试终端运行,如果是可以自行解决的问题,就**自行解决**,如果可以就**提 issues 并提供解决方案**,不行就**提 isscue 并提供程序和终端报错以及程序版本**
|
如果出现故障,尝试终端运行,如果是可以自行解决的问题,就**自行解决**,如果可以就**提 issues 并提供解决方案**,不行就**提 isscue 并提供程序和终端报错以及程序版本**
|
||||||
|
|
||||||
### 下载量
|
|
||||||
这里只统计蓝奏云的下载量,链接(懒得更了):
|
|
||||||
[https://kdocs.cn/l/smrvazWGuKcY](https://kdocs.cn/l/smrvazWGuKcY)
|
|
||||||
|
|
||||||
### 已知问题
|
### 已知问题
|
||||||
|
|
||||||
<p align="center"><img src='https://bbs.deepin.org/assets/image/raccoon/[sad].gif'></p>
|
<p align="center"><img src='https://bbs.deepin.org/assets/image/raccoon/[sad].gif'></p>
|
||||||
|
|
||||||

|

|
||||||
部分 app 无法读取出图片,已知:
|
部分 app 无法读取出图片,已知:
|
||||||
|
|
||||||
| 程序 | 下载链接 |
|
| 程序 | 下载链接 |
|
||||||
| :-: | :-: |
|
| :--------------------: | :------------------------------------: |
|
||||||
| Firefox For Android | https://www.firefox.com.cn/download/ |
|
| Firefox For Android | https://www.firefox.com.cn/download/ |
|
||||||
| 网易云音乐 For Android | https://music.163.com/#/download |
|
| 网易云音乐 For Android | https://music.163.com/#/download |
|
||||||
| 抖音 | https://www.wandoujia.com/apps/7461948 |
|
| 抖音 | https://www.wandoujia.com/apps/7461948 |
|
||||||
| 360 手机浏览器 | https://mse.360.cn/ |
|
| 360 手机浏览器 | https://mse.360.cn/ |
|
||||||
| E-Go | 忘了 |
|
| E-Go | http://www.xiaojump.com/ |
|
||||||
| 其他待测试…… | 其他待测试…… |
|
| 其他待测试…… | 其他待测试…… |
|
||||||
|
|
||||||
**注意:提取不出图标不代表未安装成功!**
|
**注意:提取不出图标不代表未安装成功!**
|
||||||
|
|
||||||
|
|
||||||
### 贡献
|
### 贡献
|
||||||
|
|
||||||
<p align="center"><img src='https://bbs.deepin.org/assets/image/raccoon/blush.gif'></p>
|
<p align="center"><img src='https://bbs.deepin.org/assets/image/raccoon/blush.gif'></p>
|
||||||
|
|
||||||
非常欢迎大家的贡献
|
非常欢迎大家的贡献
|
||||||
贡献的开发者列表:
|
贡献的开发者列表:
|
||||||
|
|
||||||
| 开发者 | 邮箱 |
|
| 开发者 | 邮箱 |
|
||||||
| :-: | :-: |
|
| :--------------------------: | :----------------------------: |
|
||||||
| gfdgd xi | 3025613752@qq.com |
|
| gfdgd xi | 3025613752@qq.com |
|
||||||
| actionchen | 917981399@qq.com |
|
| actionchen | 917981399@qq.com |
|
||||||
| 柚子 | https://gitee.com/Limexb |
|
| 柚子 | https://gitee.com/Limexb |
|
||||||
|
| 星空露光 | https://gitee.com/Cynorkyle |
|
||||||
|
| 为什么您不喜欢熊出没和阿布呢 | https://weibo.com/u/7755040136 |
|
||||||
|
|
||||||
### 相关项目
|
### 相关项目
|
||||||
|
|
||||||
| 项目名称 | 项目地址 |
|
| 项目名称 | 项目地址 |
|
||||||
| :-: | :-:|
|
| :----------------: | :--------------------------------------------: |
|
||||||
| uengine-installer | https://gitee.com/Maicss/uengine-installer |
|
| uengine-installer | https://gitee.com/Maicss/uengine-installer |
|
||||||
| uengine APK 打包器 | https://gitee.com/gfdgd-xi/uengine-apk-builder |
|
| UEngine APK 打包器 | https://gitee.com/gfdgd-xi/uengine-apk-builder |
|
||||||
| Root UEngine | https://gitee.com/Limexb/root-uengine |
|
| Root UEngine | https://gitee.com/Limexb/root-uengine |
|
||||||
|
|
||||||
|
### UEngine 运行器的部分技术介绍
|
||||||
|
|
||||||
|
可见:https://www.52pojie.cn/thread-1672077-1-1.html
|
||||||
|
|
||||||
### 附测试生成图标无问题列表:
|
### 附测试生成图标无问题列表:
|
||||||
|
|
||||||
**至于能不能用就不测试了,这暂时不是重点**
|
**至于能不能用就不测试了,这暂时不是重点**
|
||||||
**现在新加了评分功能,就看大家的评分了!**
|
**现在新加了评分功能,就看大家的评分了!**
|
||||||
|
|
||||||
| 程序 | 下载链接 |
|
| 程序 | 下载链接 |
|
||||||
|:-:|:-:|
|
| :-----------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: |
|
||||||
| QQ 全家桶(完整版、极速版、Android Pad 版) | https://im.qq.com |
|
| QQ 全家桶(完整版、极速版、Android Pad 版) | https://im.qq.com |
|
||||||
| TIM | 忘了 |
|
| TIM | https://office.qq.com/download.html |
|
||||||
| 微信 | https://weixin.qq.com |
|
| 微信 | https://weixin.qq.com |
|
||||||
| 百度翻译 | 忘了 |
|
| 百度翻译 | https://fanyi.baidu.com/appdownload/download.html |
|
||||||
| 百度网盘 | https://pan.baidu.com |
|
| 百度网盘 | https://pan.baidu.com |
|
||||||
| 腾讯课堂 | 忘了 |
|
| 腾讯课堂 | https://ke.qq.com/download/app.html |
|
||||||
| 抖音极速版 | 忘了 |
|
| 抖音极速版 | https://www.douyin.com/downloadpage/app |
|
||||||
| 豌豆荚 | 忘了 |
|
| 豌豆荚 | https://www.wandoujia.com/ |
|
||||||
| 小猿口算 | 忘了 |
|
| 小猿口算 | http://kousuan.yuanfudao.com/ |
|
||||||
| Hyperbowl | 忘了 |
|
| Hyperbowl | 忘了/无 |
|
||||||
| bilibili | https://d.bilibili.com/download_app.html?bsource=app_bili |
|
| bilibili | https://d.bilibili.com/download_app.html?bsource=app_bili |
|
||||||
| 蓝奏云 | https://up.woozooo.com/lanzouh5.apk |
|
| 蓝奏云 | https://up.woozooo.com/lanzouh5.apk |
|
||||||
| QQ 音乐(完整版、Android Pad 版、TV 版、车载版) | https://y.qq.com/download/index.html |
|
| QQ 音乐(完整版、Android Pad 版、TV 版、车载版) | https://y.qq.com/download/index.html |
|
||||||
@@ -271,4 +412,4 @@ pip3 uninstall ttkthemes
|
|||||||
| WPS Office For Android | https://www.wps.cn/ |
|
| WPS Office For Android | https://www.wps.cn/ |
|
||||||
| 钉钉 for android | https://page.dingtalk.com/wow/dingtalk/act/download?spm=a3140.8196062.0.0.6f4c5c3dWBhYUM |
|
| 钉钉 for android | https://page.dingtalk.com/wow/dingtalk/act/download?spm=a3140.8196062.0.0.6f4c5c3dWBhYUM |
|
||||||
|
|
||||||
### ©2021-2022
|
### ©2021-Now
|
||||||
|
|||||||
13
RemovePycacheFile.py
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
|
def Remove(path):
|
||||||
|
for i in os.listdir(path):
|
||||||
|
nowPath = f"{path}/{i}"
|
||||||
|
if os.path.isdir(nowPath):
|
||||||
|
if i == "__pycache__":
|
||||||
|
os.system(f"rm -rfv '{nowPath}'")
|
||||||
|
else:
|
||||||
|
Remove(nowPath)
|
||||||
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
|
debPath = f"{programPath}/new-deb-build"
|
||||||
|
Remove(debPath)
|
||||||
2
UengineAndroidProgramList.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
/usr/bin/uengine launch.sh --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
|
||||||
0
UpdateApkProgram.py
Normal file → Executable file
BIN
__pycache__/getxmlimg.cpython-310.pyc
Normal file
2
api-test.py
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
import api
|
||||||
|
xxx = api.APK()
|
||||||
109
api/README.md
Executable file
@@ -0,0 +1,109 @@
|
|||||||
|
# API 介绍
|
||||||
|
# 必知
|
||||||
|
1. 此 API 只支持可以运行 UEngine 的 Linux 上,Windows 上无法使用
|
||||||
|
2. 部分函数需要 root 权限
|
||||||
|
3. 这是 UEngine 运行器的函数重构,所以一些 UEngine 运行器上没有的 bug 可能在这个 API 里有
|
||||||
|
## ProgramInformation
|
||||||
|
用于获取一些程序信息,详细如下(未特殊表明的是变量,否则是函数):
|
||||||
|
| 变量/函数名 | 变量/函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| programPath | 获取程序所在路径 |
|
||||||
|
| version | API 版本 |
|
||||||
|
| updateTime | 更新时间 |
|
||||||
|
| websize | 程序官网 |
|
||||||
|
| home | 用户 home(用户文件)目录 |
|
||||||
|
| developer | 参与的开发者列表 |
|
||||||
|
| language | 当前语言 |
|
||||||
|
| DesktopPath() | (函数)用户桌面目录 |
|
||||||
|
|
||||||
|
## Check
|
||||||
|
用于检查 API 所需的东西是否完整,详细如下:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| CheckDepend() | 检查 API 所需的依赖是否完整 |
|
||||||
|
|
||||||
|
## ROOT
|
||||||
|
用于检查 ROOT 方面问题,详细如下:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| GetRoot() | 检查程序/API是否以 ROOT 权限运行 |
|
||||||
|
|
||||||
|
## APK
|
||||||
|
这是面向对象的写法,所以应用方式也不一样:
|
||||||
|
```python
|
||||||
|
import api
|
||||||
|
xxx = api.APK("APK 所在路径")
|
||||||
|
```
|
||||||
|
具体函数介绍:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| xxx.install() | 安装这个 APK 包(需要 Root) |
|
||||||
|
| xxx.uninstall()| 卸载这个 APK 包(需要 Root) |
|
||||||
|
| xxx.information()| 获取从 aapt 获取到的 APK 信息 |
|
||||||
|
| xxx.activityName() | 获取 APK 的 Activity 信息 |
|
||||||
|
| xxx.packageName() | 获取 APK 包名 |
|
||||||
|
| xxx.chineseLabel() | 获取 APK 中文名称 |
|
||||||
|
| xxx.saveApkIcon("图标保存路径") | 保存 APK 的图标到指定路径 |
|
||||||
|
| xxx.version() | 获取 APK 版本号 |
|
||||||
|
| xxx.saveDesktopFile("图标保存路径", "快捷方式保存路径") | 保存支持 UEngine 启动的 APK 快捷方式 |
|
||||||
|
| xxx.run() | 运行该应用(需要保证已经安装) |
|
||||||
|
| xxx.buildDeb("deb 包保存路径", qianZhui) | 打包为 deb 包(“qianZhui”是布尔值,可略,True代表有前缀为“uengine-dc”,False代表没有前缀) |
|
||||||
|
|
||||||
|
## UEngine
|
||||||
|
用于对 UEngine 进行一点点操控,详细如下:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| UengineAppManager() | 显示 UEngine 安装应用程序管理器 |
|
||||||
|
| OpenApp("应用包名", "应用Activity") | 运行指定的应用(需要保证程序已经安装) |
|
||||||
|
| UengineDataClean() | 清空 UEngine 数据(需要 Root) |
|
||||||
|
| RemoveUengineCheck() | 删除 UEngine 的检查脚本(需要 Root) |
|
||||||
|
| CPUCheck() | 检查 CPU 是否支持运行 UEngine |
|
||||||
|
| BuildUengineRootImage() | 构建 UEngine 的 Root 镜像 |
|
||||||
|
| OpenUengineRootData() | 打开 UEngine 数据目录 |
|
||||||
|
| InstallRootUengineImage() | 安装已经被 Root 过的 UEngine 镜像(需要 Root) |
|
||||||
|
| Services | 用于操控 UEngine 服务的类,见下(需要 Root) |
|
||||||
|
| InternetBridge | 用于操控 UEngine 网络桥接的类,见下(需要 Root) |
|
||||||
|
### Services
|
||||||
|
关于 UEngine 的服务控制:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| Services.Open() | 打开 UEngine 服务(需要 Root) |
|
||||||
|
| Services.Close() | 关闭 UEngine 服务(需要 Root) |
|
||||||
|
| Services.Restart() | 重启 UEngine 服务(需要 Root) |
|
||||||
|
### InternetBridge
|
||||||
|
关于 UEngine 的网络桥接控制:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| InternetBridge.Open() | 打开 UEngine 网络桥接(需要 Root) |
|
||||||
|
| InternetBridge.Close() | 关闭 UEngine 网络桥接(需要 Root) |
|
||||||
|
| InternetBridge.Restart() | 重启 UEngine 网络桥接(需要 Root) |
|
||||||
|
| InternetBridge.Reload() | 重新加载 UEngine 网络桥接(需要 Root) |
|
||||||
|
| InternetBridge.ForceReload() | 强制加载 UEngine 网络桥接(需要 Root) |
|
||||||
|
## Adb
|
||||||
|
用于对 Adb 的部分操控
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| Services | 用于操控 Adb 服务的类,见下 |
|
||||||
|
### Service
|
||||||
|
关于 Adb 的服务控制:
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| Services.Open() | 打开 Adb 服务 |
|
||||||
|
| Services.Close() | 关闭 Adb 服务 |
|
||||||
|
| Services.Kill() | 杀死 Adb 进程 |
|
||||||
|
## File
|
||||||
|
关于文件的读取和写入,这是面向对象的写法,所以应用方式也不一样:
|
||||||
|
```python
|
||||||
|
import api
|
||||||
|
xxx = api.File("文件所在路径")
|
||||||
|
```
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| xxx.read() | 读取这个文件 |
|
||||||
|
| xxx.write("写入内容") | 写入这个文件 |
|
||||||
|
|
||||||
|
## UengineRunner
|
||||||
|
用于 UEngine 运行器的部分操控(请保证安装了 UEngine 运行器)
|
||||||
|
| 函数名 | 函数介绍 |
|
||||||
|
|:-:|:-:|
|
||||||
|
| CleanHistory() | 清理 UEngine 运行器的历史记录 |
|
||||||
371
api/__init__.py
Executable file
@@ -0,0 +1,371 @@
|
|||||||
|
import os
|
||||||
|
import random
|
||||||
|
import shutil
|
||||||
|
import zipfile
|
||||||
|
import traceback
|
||||||
|
import subprocess
|
||||||
|
from getxmlimg import getsavexml
|
||||||
|
|
||||||
|
class ProgramInformation:
|
||||||
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
|
version = "1.6.0Alpha2"
|
||||||
|
updateTime = "2022年05月21日"
|
||||||
|
websize = ["https://gitee.com/gfdgd-xi/uengine-runner", "https://github.com/gfdgd-xi/uengine-runner"]
|
||||||
|
home = os.path.expanduser('~')
|
||||||
|
developer = ["gfdgd xi<3025613752@qq.com>", "为什么您不喜欢熊出没和阿布呢<https://weibo.com/u/7755040136>", "星空露光<https://gitee.com/Cynorkyle>", "actionchen<917981399@qq.com>", "柚子<https://gitee.com/Limexb>"]
|
||||||
|
lang = os.getenv('LANG')
|
||||||
|
# 获取用户桌面目录
|
||||||
|
def DesktopPath() -> "获取用户桌面目录":
|
||||||
|
for line in open(get_home() + "/.config/user-dirs.dirs"): # 以行来读取配置文件
|
||||||
|
desktop_index = line.find("XDG_DESKTOP_DIR=\"") # 寻找是否有对应项,有返回 0,没有返回 -1
|
||||||
|
if desktop_index != -1: # 如果有对应项
|
||||||
|
break # 结束循环
|
||||||
|
if desktop_index == -1: # 如果是提前结束,值一定≠-1,如果是没有提前结束,值一定=-1
|
||||||
|
return -1
|
||||||
|
else:
|
||||||
|
get = line[17:-2] # 截取桌面目录路径
|
||||||
|
get_index = get.find("$HOME") # 寻找是否有对应的项,需要替换内容
|
||||||
|
if get != -1: # 如果有
|
||||||
|
get = get.replace("$HOME", get_home()) # 则把其替换为用户目录(~)
|
||||||
|
return get # 返回目录
|
||||||
|
|
||||||
|
# 判断程序以正确方式运行
|
||||||
|
class Check:
|
||||||
|
def CheckDepend():
|
||||||
|
depend = ["/usr/bin/uengine", "UEngine", "/usr/bin/adb", "adb", "/usr/bin/uengine-session-launch-helper", "UEngine", "/usr/bin/aapt", "aapt"]
|
||||||
|
for i in range(0, len(depend), 2):
|
||||||
|
if not os.path.exists(depend[i]):
|
||||||
|
print("依赖{}不存在".format(depend[i + 1]))
|
||||||
|
|
||||||
|
class ROOT:
|
||||||
|
def GetRoot():
|
||||||
|
return os.geteuid() == 0
|
||||||
|
|
||||||
|
class APK:
|
||||||
|
def __init__(self, apkPath):
|
||||||
|
self.apkPath = apkPath
|
||||||
|
def install(self):
|
||||||
|
os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine install --apk='{}'".format(self.apkPath))
|
||||||
|
def uninstall(self):
|
||||||
|
os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg='{}'".format(self.packageName()))
|
||||||
|
def information(self):
|
||||||
|
return subprocess.getoutput("aapt dump badging '{}'".format(self.apkPath))
|
||||||
|
def activityName(self):
|
||||||
|
info = self.information()
|
||||||
|
for line in info.split('\n'):
|
||||||
|
if "launchable-activity" in line:
|
||||||
|
line = line[0: line.index("label='")]
|
||||||
|
line = line.replace("launchable-activity: ", "")
|
||||||
|
line = line.replace("'", "")
|
||||||
|
line = line.replace(" ", "")
|
||||||
|
line = line.replace("name=", "")
|
||||||
|
line = line.replace("label=", "")
|
||||||
|
line = line.replace("icon=", "")
|
||||||
|
return line
|
||||||
|
# 获取 apk 包名
|
||||||
|
def packageName(self):
|
||||||
|
info = self.information()
|
||||||
|
for line in info.split('\n'):
|
||||||
|
if "package:" in line:
|
||||||
|
line = line[0: line.index("versionCode='")]
|
||||||
|
line = line.replace("package:", "")
|
||||||
|
line = line.replace("name=", "")
|
||||||
|
line = line.replace("'", "")
|
||||||
|
line = line.replace(" ", "")
|
||||||
|
return line
|
||||||
|
# 获取软件的中文名称
|
||||||
|
def chineseLabel(self) -> "获取软件的中文名称":
|
||||||
|
info = self.information()
|
||||||
|
for line in info.split('\n'):
|
||||||
|
if "application-label:" in line:
|
||||||
|
line = line.replace("application-label:", "")
|
||||||
|
line = line.replace("'", "")
|
||||||
|
return line
|
||||||
|
# 保存apk图标
|
||||||
|
def saveApkIcon(self, iconSavePath) -> "保存 apk 文件的图标":
|
||||||
|
try:
|
||||||
|
if os.path.exists(iconSavePath):
|
||||||
|
os.remove(iconSavePath)
|
||||||
|
info = self.information()
|
||||||
|
for line in info.split('\n'):
|
||||||
|
if "application:" in line:
|
||||||
|
xmlpath = line.split(":")[-1].split()[-1].split("=")[-1].replace("'", "")
|
||||||
|
if xmlpath.endswith('.xml'):
|
||||||
|
xmlsave = getsavexml()
|
||||||
|
print(xmlpath)
|
||||||
|
xmlsave.savexml(self.apkPath, xmlpath, iconSavePath)
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
zip = zipfile.ZipFile(self.apkPath)
|
||||||
|
iconData = zip.read(xmlpath)
|
||||||
|
with open(iconSavePath, 'w+b') as saveIconFile:
|
||||||
|
saveIconFile.write(iconData)
|
||||||
|
return
|
||||||
|
print("None Icon! Show defult icon")
|
||||||
|
shutil.copy(ProgramInformation.programPath + "/defult.png", iconSavePath)
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
print("Error, show defult icon")
|
||||||
|
shutil.copy(ProgramInformation.programPath + "/defult.png", iconSavePath)
|
||||||
|
def version(self):
|
||||||
|
info = self.information()
|
||||||
|
for line in info.split('\n'):
|
||||||
|
if "package:" in line:
|
||||||
|
if "compileSdkVersion='" in line:
|
||||||
|
line = line.replace(line[line.index("compileSdkVersion='"): -1], "")
|
||||||
|
if "platform" in line:
|
||||||
|
line = line.replace(line[line.index("platform"): -1], "")
|
||||||
|
line = line.replace(line[0: line.index("versionName='")], "")
|
||||||
|
line = line.replace("versionName='", "")
|
||||||
|
line = line.replace("'", "")
|
||||||
|
line = line.replace(" ", "")
|
||||||
|
return line
|
||||||
|
def saveDesktopFile(self, desktopPath, iconPath):
|
||||||
|
showName = self.chineseLabel()
|
||||||
|
if showName == "" or showName == None:
|
||||||
|
showName = "未知应用"
|
||||||
|
self.saveApkIcon(iconPath)
|
||||||
|
things = '''[Desktop Entry]
|
||||||
|
Categories=app;
|
||||||
|
Encoding=UTF-8
|
||||||
|
Exec=uengine launch --action=android.intent.action.MAIN --package={} --component={}
|
||||||
|
GenericName={}
|
||||||
|
Icon={}
|
||||||
|
MimeType=
|
||||||
|
Name={}
|
||||||
|
StartupWMClass={}
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
'''.format(self.packageName(), self.activityName(), showName, iconPath, showName, showName)
|
||||||
|
File(desktopPath).write(things)
|
||||||
|
def run(self):
|
||||||
|
UEngine.OpenApp(self.packageName(), self.activityName())
|
||||||
|
|
||||||
|
def buildDeb(self, savePath, qianZhui = True):
|
||||||
|
tempPath = "/tmp/uengine-apk-builder-{}".format(int(random.randint(0, 1024)))
|
||||||
|
#RunCommandShow("echo '======================================New===================================='")
|
||||||
|
#RunCommandShow("echo '创建目录'")
|
||||||
|
os.makedirs("{}/DEBIAN".format(tempPath))
|
||||||
|
os.makedirs("{}/usr/share/applications".format(tempPath))
|
||||||
|
os.makedirs("{}/usr/share/uengine/apk".format(tempPath))
|
||||||
|
os.makedirs("{}/usr/share/uengine/icons".format(tempPath))
|
||||||
|
apkPackageName = self.packageName()
|
||||||
|
if qianZhui:
|
||||||
|
apkPackageNameNew = "uengine-dc-" + self.packageName().lower()
|
||||||
|
else:
|
||||||
|
apkPackageNameNew = self.packageName().lower()
|
||||||
|
apkPackageVersion = self.version()
|
||||||
|
if apkPackageVersion[0].upper() == "V":
|
||||||
|
package = list(apkPackageVersion)
|
||||||
|
package.pop(0)
|
||||||
|
apkPackageVersion = "".join(package)
|
||||||
|
apkChineseLabel = self.chineseLabel()
|
||||||
|
apkActivityName = self.activityName()
|
||||||
|
iconSavePath = "{}/usr/share/uengine/icons/{}.png".format(tempPath, apkPackageNameNew)
|
||||||
|
debControl = '''Package: {}
|
||||||
|
Version: {}
|
||||||
|
Architecture: all
|
||||||
|
Maintainer: {}
|
||||||
|
Depends: deepin-elf-verify (>= 0.0.16.7-1), uengine (>= 1.0.1)
|
||||||
|
Section: utils
|
||||||
|
Priority: optional
|
||||||
|
Description: {}\n'''.format(apkPackageNameNew, apkPackageVersion, apkChineseLabel, apkChineseLabel)
|
||||||
|
debPostinst = '''#!/bin/sh
|
||||||
|
|
||||||
|
APK_DIR="/usr/share/uengine/apk"
|
||||||
|
APK_NAME="{}"
|
||||||
|
APK_PATH="$APK_DIR/$APK_NAME"
|
||||||
|
DESKTOP_FILE="{}"
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f $APK_PATH ]; then
|
||||||
|
echo "Installing $APK_NAME"
|
||||||
|
else
|
||||||
|
echo "ERROR: $APK_NAME does not exist."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
session_manager=`ps -ef | grep "uengine session-manager" | grep -v grep`
|
||||||
|
if test -z "$session_manager"; then
|
||||||
|
echo "ERROR: app install failed(session-manager is not running)."
|
||||||
|
sess_dir="/usr/share/uengine/session_install"
|
||||||
|
if [ ! -d $sess_dir ]; then
|
||||||
|
mkdir $sess_dir
|
||||||
|
chmod 777 $sess_dir
|
||||||
|
fi
|
||||||
|
apk_name=${{APK_PATH##*/}}
|
||||||
|
fileName="$sess_dir/$apk_name"
|
||||||
|
echo $DESKTOP_FILE > $fileName
|
||||||
|
abistr=""
|
||||||
|
if test -n "$abistr"; then
|
||||||
|
abi=`echo $abistr |awk -F \= '{{print $2}}'`
|
||||||
|
echo $abi >> $fileName
|
||||||
|
fi
|
||||||
|
chmod 766 $fileName
|
||||||
|
fi
|
||||||
|
|
||||||
|
/usr/bin/uengine-session-launch-helper -- uengine install --apk="$APK_PATH"
|
||||||
|
|
||||||
|
exit 0'''.format(apkPackageNameNew + ".apk", "/usr/share/applications/{}.desktop".format(apkPackageNameNew))
|
||||||
|
debPrerm = '''#!/bin/sh
|
||||||
|
|
||||||
|
APP_NAME="{}"
|
||||||
|
DESKTOP_FILE="{}"
|
||||||
|
|
||||||
|
session_manager=`ps -ef | grep "uengine session-manager" | grep -v grep`
|
||||||
|
if test -z "$session_manager"; then
|
||||||
|
echo "ERROR: app uninstall failed(session-manager is not running)."
|
||||||
|
sess_dir="/usr/share/uengine/session_uninstall"
|
||||||
|
if [ ! -d $sess_dir ]; then
|
||||||
|
mkdir $sess_dir
|
||||||
|
chmod 777 $sess_dir
|
||||||
|
fi
|
||||||
|
fileName="$sess_dir/$APP_NAME"
|
||||||
|
echo $DESKTOP_FILE > $fileName
|
||||||
|
chmod 766 $fileName
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Uninstalling $APP_NAME"
|
||||||
|
/usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg="$APP_NAME"
|
||||||
|
|
||||||
|
exit 0'''.format(apkPackageName, "/usr/share/applications/{}.desktop".format(apkPackageNameNew))
|
||||||
|
desktopFile = '''[Desktop Entry]
|
||||||
|
Categories=Other;
|
||||||
|
Exec=uengine launch --action=android.intent.action.MAIN --package={} --component={}
|
||||||
|
Icon=/usr/share/uengine/icons/{}.png
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
GenericName={}
|
||||||
|
Name={}
|
||||||
|
'''
|
||||||
|
# RunCommandShow("echo '{}' > '{}/DEBIAN/control'".format(debControl, tempPath))
|
||||||
|
#RunCommandShow("echo 正在写入文件:'{}/DEBIAN/control'".format(tempPath))
|
||||||
|
File("{}/DEBIAN/control".format(tempPath)).write(debControl)
|
||||||
|
#RunCommandShow("echo 正在写入文件:'{}/DEBIAN/postinst'".format(tempPath))
|
||||||
|
File("{}/DEBIAN/postinst".format(tempPath)).write(debPostinst)
|
||||||
|
#RunCommandShow("echo 正在写入文件:'{}/DEBIAN/prerm'".format(tempPath))
|
||||||
|
File("{}/DEBIAN/prerm".format(tempPath)).write(debPrerm)
|
||||||
|
#RunCommandShow("echo 正在写入文件:'/usr/share/applications/{}.desktop'".format(apkPackageNameNew))
|
||||||
|
# write_txt("{}/usr/share/applications/{}.desktop".format(tempPath, apkPackageNameNew), desktopFile)
|
||||||
|
self.saveDesktopFile("{}/usr/share/applications/{}.desktop".format(tempPath, apkPackageNameNew),
|
||||||
|
"{}/usr/share/uengine/icons/{}.png".format(tempPath, apkPackageNameNew))
|
||||||
|
#BuildUengineDesktop(apkPackageName, apkActivityName, apkChineseLabel,
|
||||||
|
# "/usr/share/uengine/icons/{}.png".format(apkPackageNameNew),
|
||||||
|
# "{}/usr/share/applications/{}.desktop".format(tempPath, apkPackageNameNew))
|
||||||
|
#RunCommandShow("echo '复制文件'")
|
||||||
|
#RunCommandShow("echo '写入 APK 软件图标'")
|
||||||
|
#SaveApkIcon(apkPath, iconSavePath)
|
||||||
|
self.saveApkIcon(iconSavePath)
|
||||||
|
#RunCommandShow("echo '复制 APK 文件'")
|
||||||
|
shutil.copy(self.apkPath, "{}/usr/share/uengine/apk/{}.apk".format(tempPath, apkPackageNameNew))
|
||||||
|
#RunCommandShow("cp -rv '{}' '{}/usr/share/uengine/apk/{}.apk'".format(apkPath, tempPath, apkPackageNameNew))
|
||||||
|
#RunCommandShow("echo '正在设置文件权限……'")
|
||||||
|
os.system("chmod 0775 -vR '{}/DEBIAN/postinst'".format(tempPath))
|
||||||
|
os.system("chmod 0775 -vR '{}/DEBIAN/prerm'".format(tempPath))
|
||||||
|
#RunCommandShow("echo '打包 deb 到桌面……'")
|
||||||
|
os.system(
|
||||||
|
"dpkg -b '{}' '{}'".format(tempPath, savePath))
|
||||||
|
#RunCommandShow("echo '正在删除临时目录……'")
|
||||||
|
#shutil.rmtree(tempPath)
|
||||||
|
#RunCommandShow("rm -rfv '{}'".format(tempPath))
|
||||||
|
#RunCommandShow("echo '完成!'")
|
||||||
|
#findApkHistory.append(apkPath)
|
||||||
|
#combobox1['value'] = findApkHistory
|
||||||
|
#write_txt(get_home() + "/.config/uengine-runner/FindApkBuildHistory.json",
|
||||||
|
# str(json.dumps(ListToDictionary(findApkHistory)))) # 将历史记录的数组转换为字典并写入
|
||||||
|
#messagebox.showinfo(title="提示", message="打包完成")
|
||||||
|
#DisabledAndEnbled(False)
|
||||||
|
|
||||||
|
|
||||||
|
class UEngine:
|
||||||
|
def UengineAppManager():
|
||||||
|
os.system("uengine launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity")
|
||||||
|
def OpenApp(appPackage, appActivity):
|
||||||
|
os.system("uengine launch --package={} --component={}".format(appPackage, appActivity))
|
||||||
|
# 清空 uengine 数据
|
||||||
|
def UengineDataClean() -> "清空 uengine 数据":
|
||||||
|
shutil.rmtree("{}/.local/share/applications/uengine/".format(ProgramInformation.home))
|
||||||
|
shutil.rmtree("/data/uengine")
|
||||||
|
def RemoveUengineCheck():
|
||||||
|
os.remove("/usr/share/uengine/uengine-check-runnable.sh")
|
||||||
|
def CPUCheck():
|
||||||
|
return subprocess.getoutput("uengine check-features")
|
||||||
|
def BuildUengineRootImage():
|
||||||
|
os.system(ProgramInformation.programPath + "/root-uengine.sh")
|
||||||
|
def OpenUengineRootData():
|
||||||
|
os.system("xdg-open /data/uengine/data/data")
|
||||||
|
def InstallRootUengineImage():
|
||||||
|
if not os.path.exists:
|
||||||
|
os.mkdir("/tmp/uengine-runner")
|
||||||
|
File("/tmp/uengine-runner/install.sh").write("sudo dpkg -i /tmp/uengine-runner/u*.deb\nsudo apt install -f")
|
||||||
|
os.system("wget -P '/tmp/uengine-runner' 'https://hub.fastgit.xyz/gfdgd-xi/uengine-runner/releases/download/U1.2.15/uengine-android-image_1.2.15_amd64.deb' && pkexec bash '/tmp/uengine-runner/install.sh'")
|
||||||
|
class Services:
|
||||||
|
def Open():
|
||||||
|
os.system("pkexec systemctl enable uengine-container uengine-session && systemctl start uengine-container uengine-session")
|
||||||
|
def Close():
|
||||||
|
os.system("pkexec systemctl disable uengine-container uengine-session")
|
||||||
|
def Restart():
|
||||||
|
os.system("pkexec systemctl restart uengine*")
|
||||||
|
class InternetBridge:
|
||||||
|
def Open():
|
||||||
|
os.system("pkexec uengine-bridge.sh start")
|
||||||
|
def Close():
|
||||||
|
os.system("pkexec uengine-bridge.sh stop")
|
||||||
|
def Restart():
|
||||||
|
os.system("pkexec uengine-bridge.sh restart")
|
||||||
|
def Reload():
|
||||||
|
os.system("pkexec uengine-bridge.sh reload")
|
||||||
|
def ForceReload():
|
||||||
|
os.system("pkexec uengine-bridge.sh force-reload")
|
||||||
|
|
||||||
|
class Adb:
|
||||||
|
def __init__(self, ip=""):
|
||||||
|
self.ip = ip
|
||||||
|
|
||||||
|
def connect(self):
|
||||||
|
os.system(f"adb connect {self.ip}")
|
||||||
|
|
||||||
|
class Service:
|
||||||
|
def Open():
|
||||||
|
os.system("adb start-server")
|
||||||
|
def Close():
|
||||||
|
os.system("adb kill-server")
|
||||||
|
def Kill():
|
||||||
|
os.system("killall adb")
|
||||||
|
|
||||||
|
def boolAndroidInstallOtherAppSetting(self):
|
||||||
|
return subprocess.getoutput(f"adb -s {self.ip} shell settings get secure install_non_market_apps").replace(" ", "") == "1"
|
||||||
|
|
||||||
|
def setAndroidInstallOtherAppSetting(self, op: bool):
|
||||||
|
os.system(f"adb -s {self.ip} shell settings put secure install_non_market_apps {int(op)}")
|
||||||
|
|
||||||
|
class File:
|
||||||
|
def __init__(self, filePath):
|
||||||
|
self.filePath = filePath
|
||||||
|
def read(self):
|
||||||
|
f = open(self.filePath, "r") # 设置文件对象
|
||||||
|
str = f.read() # 获取内容
|
||||||
|
f.close() # 关闭文本对象
|
||||||
|
return str # 返回结果
|
||||||
|
def write(self, things) -> "写入文本文档":
|
||||||
|
TxtDir = os.path.dirname(self.filePath)
|
||||||
|
print(TxtDir)
|
||||||
|
if not os.path.exists(TxtDir):
|
||||||
|
os.makedirs(TxtDir, exist_ok=True)
|
||||||
|
file = open(self.filePath, 'w', encoding='UTF-8') # 设置文件对象
|
||||||
|
file.write(things) # 写入文本
|
||||||
|
file.close() # 关闭文本对象
|
||||||
|
|
||||||
|
class UengineRunner:
|
||||||
|
def CleanHistory():
|
||||||
|
shutil.rmtree(ProgramInformation.home + "/.config/uengine-runner")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print("本 API 不支持直接运行,请通过引入的方式使用此 API")
|
||||||
|
adb = Adb("192.168.250.2:5555")
|
||||||
|
print(adb.boolAndroidInstallOtherAppSetting())
|
||||||
|
|
||||||
|
quit()
|
||||||
|
|
||||||
|
if not ROOT.GetRoot():
|
||||||
|
print("请获取 ROOT 权限以便更好的使用该 API")
|
||||||
BIN
api/__pycache__/__init__.cpython-310.pyc
Normal file
BIN
api/__pycache__/__init__.cpython-37.pyc
Normal file
BIN
build/opt/apps/uengine-runner/__pycache__/getxmlimg.cpython-37.pyc → api/__pycache__/getxmlimg.cpython-37.pyc
Normal file → Executable file
0
build/opt/apps/uengine-runner/defult.png → api/defult.png
Normal file → Executable file
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
@@ -5,7 +5,7 @@
|
|||||||
mkdir -p ~/temp
|
mkdir -p ~/temp
|
||||||
cd ~/temp
|
cd ~/temp
|
||||||
echo "正在下载supersu"
|
echo "正在下载supersu"
|
||||||
wget -P ~/temp http://supersuroot.org/downloads/SuperSU-v2.82-201705271822.zip
|
aria2c -x 16 -s 16 -d ~/temp http://supersuroot.org/downloads/SuperSU-v2.82-201705271822.zip
|
||||||
cd ..
|
cd ..
|
||||||
mkdir -p ~/temp/work/dabao/extract/DEBIAN
|
mkdir -p ~/temp/work/dabao/extract/DEBIAN
|
||||||
echo "正在解压supersu"
|
echo "正在解压supersu"
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
Package: spark-uengine-runner
|
|
||||||
Version: 1.6.0
|
|
||||||
Maintainer: gfdgd xi <3025613752@qq.com>, actionchen<917981399@qq.com>
|
|
||||||
Homepage: [https://gitee.com/gfdgd-xi/uengine-runner, https://github.com/gfdgd-xi/uengine-runner]
|
|
||||||
Architecture: all
|
|
||||||
Priority: optional
|
|
||||||
Conflicts: com.gitee.uengine.runner.spark, spark-uengine-apk-builder
|
|
||||||
Depends: python3, python3-tk, python3-pip, aapt, uengine, python3-setuptools, deepin-terminal, curl, python3-pil, python3-pil.imagetk, python3-requests, adb, translate-shell, python3-xlib, fonts-noto-cjk, python3-numpy
|
|
||||||
Description: UEngine Runner for deepin and UOS
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# 安装所需库
|
|
||||||
python3 -m pip install --upgrade pip -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
python3 -m pip install --upgrade ttkthemes -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
python3 -m pip install --upgrade pyautogui -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
python3 -m pip install --upgrade keyboard -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
|
||||||
# 刷新图标缓存
|
|
||||||
gtk-update-icon-cache /usr/share/icons/bloom
|
|
||||||
# 向服务器返回安装数加1(不显示内容且忽略错误)
|
|
||||||
curl http://120.25.153.144/uengine-runner/Install.php?Version=1.6.0 -s > /dev/null | true
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# 刷新图标缓存
|
|
||||||
gtk-update-icon-cache /usr/share/icons/bloom
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,165 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
|
|
||||||
<title>index</title>
|
|
||||||
</head>
|
|
||||||
<body><h1 id='uengine-运行器帮助'>UEngine 运行器帮助</h1>
|
|
||||||
<hr />
|
|
||||||
<h2 id='帮助简述'>帮助简述</h2>
|
|
||||||
<blockquote><p>安装APK:点浏览按钮,选中需要安装的APK,然后点安装按钮<br/>卸载APK:在卸载APK下面的输入框内输入需要卸载的APK包名,点卸载按钮,如果无法获取包名,可以通过浏览APK文件程序自动获取包名进行卸载。<br/>保存APK图标:在安装APK下面的输入框浏览或输入APK的路径,然后点击“保存图标”按钮,选择保存位置即可<br/>重置(删除)UEngine数据:点击菜单栏的“UEngine”的“清空UEngine数据”,输入密码重启即可<br/>注意:如果任何安卓一遍打不开,多打开几遍应该就可以重新加载UEngine配置了<br/>打开UEngine应用列表:打开系统已安装的应用列表(安卓界面)<br/><strong>提示:</strong> <br/><strong>※1、近期升级的 UEngine 安装时会自动把要安装的 apk 删除,如果这个 apk 文件非常重要请拷贝一个备份版并安装这个备份版</strong> <br/><strong>2、需要你有使用 root 权限的能力;</strong><br/><strong>3、需要安装 UEngine 才能使用;</strong><br/><strong>4、提取 apk 图标的 apk 路径以“安装 apk”那栏为准;</strong><br/><strong>5、如果想要使用adb连接UEngine或其他手机,请使用 1.2.0 以前的版本。(如需连接UEngine请安装adb补丁)</strong> </p>
|
|
||||||
</blockquote>
|
|
||||||
<hr />
|
|
||||||
<h2 id='详细帮助'>详细帮助</h2>
|
|
||||||
<h3 id='如何安装自己的-apk'>如何安装自己的 Apk</h3>
|
|
||||||
<p><em>请保证您已经把要安装的Apk下载到电脑本地并保证Apk完整且有权限</em></p>
|
|
||||||
<h4 id='方法一-1'>方法一</h4>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击浏览按钮,找到想要安装的Apk<br/><img src="1-1-2.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击安装按钮,输入密码
|
|
||||||
<img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>提示“操作完成”,在启动器找到新安装的图标启动即可<br/><img src="1-1-4.png" referrerpolicy="no-referrer"><br/><img src="1-1-5.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<h4 id='方法二-1'>方法二</h4>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开要安装的Apk所在目录,右击=>打开方式=>安装或卸载 APK(UEngine 运行器)<br/><img src="1-2-1.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击安装按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>提示“操作完成”,在启动器找到新安装的图标启动即可<br/><img src="1-1-4.png" referrerpolicy="no-referrer"><br/><img src="1-2-2.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<h3 id='卸载apk'>卸载Apk</h3>
|
|
||||||
<h4 id='方法一-2'>方法一</h4>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击浏览按钮,找到想要卸载的Apk<br/><img src="1-1-2.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击卸载按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>提示“操作完成”,卸载完成 <br/><img src="1-1-4.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<h4 id='方法二-2'>方法二</h4>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开要安装的Apk所在目录,右击=>打开方式=>安装或卸载 APK(UEngine 运行器)<br/><img src="1-2-1.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击卸载按钮,输入密码<br/><img src="1-1-3.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>提示“操作完成”,卸载完成<br/><img src="1-1-4.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<h3 id='查询apk信息'>查询Apk信息</h3>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击“Apk 信息” 按钮即可查询Apk信息</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-3-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h3 id='查看程序评分'>查看程序评分</h3>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"> </li>
|
|
||||||
<li>点击“Apk 信息” 按钮即可查询Apk信息
|
|
||||||
<img src="1-3-1.png" referrerpolicy="no-referrer"></li>
|
|
||||||
<li>点击“查看程序评分情况”即可查看其他用户对程序的评分</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-4-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h3 id='上传用户评分'>上传用户评分</h3>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-1-1.png" referrerpolicy="no-referrer"> </p>
|
|
||||||
<ol start='2' >
|
|
||||||
<li>点击“Apk 信息” 按钮即可查询Apk信息</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-3-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='3' >
|
|
||||||
<li>点击“上传程序评分情况”,按照要求进行评分</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-5-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='4' >
|
|
||||||
<li>如果提示“提交成功!感谢您的提交”就代表评分成功</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-5-2.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h3 id='更新程序'>更新程序</h3>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-1-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='2' >
|
|
||||||
<li>点击“关于”=>“检查更新”,打开更新窗口</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-6-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='3' >
|
|
||||||
<li><strong>保证您的电脑没有运行其它Python应用以及本程序所有工作都已经完成</strong>,再点击“更新(更新过程中会关闭所有Python应用,包括这个应用)”,输入密码以进行更新</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-6-2.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='4' >
|
|
||||||
<li>提示“更新完毕!”后重新启动 UEngine 运行器就更新完毕了</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-6-3.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h3 id='保存图标'>保存图标</h3>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 </li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-1-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='2' >
|
|
||||||
<li>选择要保存图标的Apk,点击“保存图标”按钮,选择要保存的位置即可</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-7-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h3 id='打开已安装的程序列表'>打开已安装的程序列表</h3>
|
|
||||||
<h4 id='方法一-3'>方法一</h4>
|
|
||||||
<p>打开启动器=>UEngine 程序菜单 即可</p>
|
|
||||||
<h4 id='方法二-3'>方法二</h4>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开 UEngine 运行器 <br/><img src="1-1-1.png" referrerpolicy="no-referrer"></li>
|
|
||||||
<li>点击“打开 UEngine 应用列表”即可</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-8-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h3 id='将-apk-打包成可以无需本应用即可安装的-deb-包'>将 Apk 打包成可以无需本应用即可安装的 deb 包</h3>
|
|
||||||
<h4 id='打开-uengine-打包器的三种方法'>打开 UEngine 打包器的三种方法</h4>
|
|
||||||
<h5 id='方法一-4'>方法一</h5>
|
|
||||||
<p>启动器=>UEngine 应用打包器</p>
|
|
||||||
<h5 id='方法二-4'>方法二</h5>
|
|
||||||
<p>打开要打包的 Apk 所在目录,右击=>“打开方式”=>“打包 deb(UEngine 运行器)”(接下来可以略过步骤一)</p>
|
|
||||||
<p><img src="1-9-1.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h5 id='方式三'>方式三</h5>
|
|
||||||
<p>打开 UEngine 运行器,点击菜单栏的“UEngine”=>“UEngine 应用打包”</p>
|
|
||||||
<p><img src="1-9-2.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<h4 id='打包-deb'>打包 deb</h4>
|
|
||||||
<ol start='' >
|
|
||||||
<li>打开“UEngine Apk 应用打包器”,点击“浏览按钮”选择apk</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-9-3.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='2' >
|
|
||||||
<li>根据实际情况勾选选项,然后点击“打包”进行打包</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-9-4.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<ol start='3' >
|
|
||||||
<li>当提示“打包完成”时,打包完成,可以在桌面(一般是<code>/home/XXX/Desktop</code>)找到您打包的 deb 包,可以双击安装</li>
|
|
||||||
|
|
||||||
</ol>
|
|
||||||
<p> <img src="1-9-5.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<p> <img src="1-9-6.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<p> <img src="1-9-7.png" referrerpolicy="no-referrer"></p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> ©2021-2022</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||