TW201635140A - Method and system for installing application - Google Patents
Method and system for installing application Download PDFInfo
- Publication number
- TW201635140A TW201635140A TW104122103A TW104122103A TW201635140A TW 201635140 A TW201635140 A TW 201635140A TW 104122103 A TW104122103 A TW 104122103A TW 104122103 A TW104122103 A TW 104122103A TW 201635140 A TW201635140 A TW 201635140A
- Authority
- TW
- Taiwan
- Prior art keywords
- application
- information
- component
- user device
- application installation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000009434 installation Methods 0.000 claims abstract description 131
- 230000004044 response Effects 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本申請公開的內容涉及一種用於在使用者設備上安裝應用程式的方法和系統,具體而言,尤其涉及一種與使用者設備適配且動態的應用程式安裝方法及系統。The disclosure of the present application relates to a method and system for installing an application on a user device, and in particular, to a method and system for installing an application that is adapted and dynamic with a user device.
諸如智慧手機、平板電腦之類的可攜式智慧電子設備已越來越廣泛地得到應用。這些智慧電子設備具有強大的處理能力,並且可以在其上運行各種應用程式。通常在出廠時,這些電子設備上已經預裝了一些應用程式。使用者可以根據個人需要在這些電子設備上額外地安裝其他一些應用程式。Portable smart electronic devices such as smart phones and tablets have become more and more widely used. These smart electronic devices have powerful processing power and can run various applications on them. Some applications are pre-installed on these electronic devices, usually at the factory. Users can additionally install other applications on these electronic devices according to their personal needs.
在現有技術中,在可攜式智慧電子設備上安裝應用程式的方式大致可以分為兩種:一種方式是,使用者直接利用其電子設備上的“應用程式商店”之類的應用程式(例如,Android系統上的“Google Play”應用程式)來選擇需要安裝的應用程式,然後下載所選應用程式的應用程式安裝包並安裝在電子設備上;另一種方式是,使用者利用諸如個人電腦之類的設備訪問特定的應用程式伺服器來選擇需要安裝的應用程式,然後將所選應用程式的應用程式安裝包下載或推送到使用者的可攜式智慧電子設備上以進行安裝。In the prior art, the manner in which an application is installed on a portable smart electronic device can be roughly divided into two types: one is that the user directly uses an application such as an "app store" on the electronic device (for example, , the "Google Play" application on the Android system) to select the application to be installed, then download the application installation package of the selected application and install it on the electronic device; another way is that the user uses a personal computer such as The device of the class accesses a specific application server to select an application to be installed, and then downloads or pushes the application installation package of the selected application to the user's portable intelligent electronic device for installation.
然而,無論採取何種形式,都是通過一次下載或推送來得到應用程式安裝包的。也就是說,在安裝應用程式之前,不能動態地配置應用程式的安裝包。然而,各種電子設備在硬體配置方面存在有差異,例如,螢幕的圖元密度可以包括lDPI(例如,120DPI)、mDPI(例如,160DPI)、hDPI(例如,240DPI)以及xhDPI(320DPI)四個基本圖元密度,對於同一圖元密度存在有多種不同的解析度,並且硬體的架構可以包括x86、ARM、MIPS等等。為了能夠在各種不同配置的電子設備上正常地運行和顯示,應用程式安裝包的尺寸通常較大以涵蓋各種可能的硬體配置,從而在下載或推送過程中會佔用更多的網路資源。However, regardless of the form, the application installation package is obtained by downloading or pushing. This means that the application's installation package cannot be dynamically configured until the application is installed. However, various electronic devices have differences in hardware configuration. For example, the picture element density of the screen may include lDPI (for example, 120 DPI), mDPI (for example, 160 DPI), hDPI (for example, 240 DPI), and xhDPI (320 DPI). Basic primitive density, there are many different resolutions for the same primitive density, and the hardware architecture can include x86, ARM, MIPS, and so on. In order to be able to run and display properly on a variety of differently configured electronic devices, the application installation package is typically large in size to cover a variety of possible hardware configurations, thereby consuming more network resources during download or push.
另外,“應用程式商店”之類的服務型應用程式會定期掃描安裝在電子設備上的各個應用程式的版本,並且與應用程式伺服器上該應用程式的最新版本進行比較。當發現安裝在電子設備上的應用程式不是最新版本時,會提示使用者將應用程式升級。升級的方式是將最新版本的應用程式安裝包下載或推送至使用者的電子設備進行安裝,以替換或覆蓋舊版本的應用程式。由於應用程式安裝包不是動態配置的,因而會出現這樣一種情況:應用程式伺服器上的最新版本應用程式是針對某一特定硬體配置的設備所進行的改進,例如,修復了在特定螢幕解析度下的顯示問題。然而,這樣的改進對其他硬體配置的設備是沒有任何意義的。因而,使用者經常會進行一些不必要的應用程式升級操作,浪費了更多的網路資源。In addition, service applications such as "app store" periodically scan the versions of each application installed on the electronic device and compare it with the latest version of the application on the application server. When the application installed on the electronic device is found to be not the latest version, the user is prompted to upgrade the application. The upgrade method is to download or push the latest version of the application installation package to the user's electronic device for installation to replace or overwrite the old version of the application. Since the application installation package is not dynamically configured, there is a situation where the latest version of the application on the application server is an improvement for a particular hardware-configured device, for example, fixed on a specific screen resolution. Display problems under the degree. However, such improvements do not make sense for other hardware-configured devices. As a result, users often perform unnecessary application upgrades and waste more network resources.
針對現有技術中的這些問題提出了本發明構思。根據本發明的應用程式安裝方法及系統,可以根據使用者設備的實際情況動態地配置應用程式安裝包,使得針對特定使用者設備的應用程式安裝包的尺寸最小化,從而節省了網路資源。另外,還可以為使用者避免不必要的應用程式升級操作。The inventive concept has been proposed in response to these problems in the prior art. According to the application installation method and system of the present invention, the application installation package can be dynamically configured according to the actual situation of the user equipment, so that the size of the application installation package for the specific user equipment is minimized, thereby saving network resources. In addition, you can avoid unnecessary application upgrades for users.
根據本發明的一個方面,提供了一種應用程式安裝方法,用於在使用者設備上安裝應用程式,所述方法包括步驟:獲取使用者設備的螢幕資訊;將使用者設備的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器;回應於接收到的應用程式的標識資訊,應用程式伺服器根據與該標識資訊一起接收到的使用者設備的螢幕資訊來選擇應用程式安裝包,所述應用程式安裝包包括與使用者設備的螢幕適配的使用者介面模組;應用程式伺服器發送所選擇的應用程式安裝包;以及回應於接收到的應用程式安裝包,在使用者設備上安裝應用程式。According to an aspect of the present invention, an application installation method is provided for installing an application on a user device, the method comprising the steps of: acquiring screen information of the user device; and installing the screen information of the user device together with the device to be installed The application identification information is sent to the application server together; in response to the received application identification information, the application server selects the application installation package according to the screen information of the user device received together with the identification information. The application installation package includes a user interface module adapted to the screen of the user device; the application server sends the selected application installation package; and in response to the received application installation package, the user Install the app on your device.
根據本發明的實施例,所述方法還可以包括步驟:回應於對已安裝的應用程式的操作,判定在使用者設備上是否存在用於實現該操作的構件;當不存在所述構件時,獲取使用者設備的架構資訊,並且將使用者設備的架構資訊與所述構件的構件資訊一起發送至應用程式伺服器;應用程式伺服器根據使用者設備的架構資訊來選擇與構件資訊相對應的構件;應用程式伺服器發送所選擇的構件;以及回應於接收到的構件,在使用者設備上將接收到的構件拼裝至已安裝的應用程式。According to an embodiment of the present invention, the method may further include the step of: determining, in response to an operation on the installed application, whether there is a component for implementing the operation on the user device; when the component is not present, Obtaining the architecture information of the user equipment, and sending the architecture information of the user equipment to the application server together with the component information of the component; the application server selects the information corresponding to the component information according to the architecture information of the user equipment. The component server sends the selected component; and in response to the received component, assembles the received component to the installed application on the user device.
根據本發明的實施例,可以通過應用程式安裝伺服器來獲取使用者設備的螢幕資訊,並且將使用者設備的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器,並且回應於接收到的應用程式安裝包,所述應用程式安裝伺服器可以在使用者設備上安裝應用程式。According to the embodiment of the present invention, the server information can be obtained by the application installation server, and the screen information of the user device is sent to the application server together with the identification information of the application to be installed, and the response is For the received application installation package, the application installation server can install the application on the user device.
根據本發明的實施例,可以通過應用程式安裝伺服器獲取使用者設備的架構資訊,並且將使用者設備的架構資訊與所述構件資訊一起發送至應用程式伺服器,並且回應於接收到的構件,所述應用程式安裝伺服器可以在使用者設備上將接收到的構件拼裝至所述已安裝的應用程式。According to an embodiment of the present invention, the application information of the user equipment can be obtained by the application installation server, and the architecture information of the user equipment is sent to the application server together with the component information, and the received component is responded to. The application installation server can assemble the received component to the installed application on the user device.
根據本發明的實施例,使用者設備的螢幕資訊可以包括螢幕的圖元密度資訊和/或解析度資訊。According to an embodiment of the invention, the screen information of the user equipment may include the picture element density information and/or the resolution information of the screen.
根據本發明的實施例,構件資訊可以包括構件的唯一標識、名稱和/或版本號。In accordance with an embodiment of the invention, the component information may include a unique identification, name, and/or version number of the component.
根據本發明的實施例,所述應用程式安裝包可以包括操作邏輯模組,所述操作邏輯模組與使用者設備的螢幕無關。According to an embodiment of the invention, the application installation package may include an operation logic module that is independent of a screen of the user device.
根據本發明的另一個方面,提供了一種應用程式安裝系統,用於在使用者設備上安裝應用程式。所述應用程式安裝系統包括:資訊獲取單元,用於獲取使用者設備的螢幕資訊;資訊發送單元,用於將使用者設備的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器;以及應用程式安裝單元,用於在使用者設備上安裝應用程式。所述應用程式伺服器包括:應用程式選擇單元,回應於接收到的應用程式的標識資訊,所述應用程式選擇單元根據與該標識資訊一起接收到的使用者設備的螢幕資訊來選擇應用程式安裝包,所述應用程式安裝包包括與使用者設備的螢幕適配的使用者介面模組;以及應用程式發送單元,用於發送由所述應用程式選擇單元所選擇的應用程式安裝包。回應於接收到的應用程式安裝包,所述應用程式安裝單元在使用者設備上安裝應用程式。According to another aspect of the present invention, an application installation system for installing an application on a user device is provided. The application installation system includes: an information acquisition unit for acquiring screen information of the user equipment; and an information sending unit for transmitting the screen information of the user equipment together with the identification information of the application to be installed to the application server. And an application installation unit for installing an application on the user device. The application server includes an application selection unit that responds to the identification information of the received application, and the application selection unit selects an application installation according to the screen information of the user equipment received together with the identification information. The package installation package includes a user interface module adapted to the screen of the user device, and an application sending unit for transmitting the application installation package selected by the application selection unit. In response to the received application installation package, the application installation unit installs the application on the user device.
根據本發明的實施例,回應於對已安裝的應用程式的操作,判定在使用者設備上是否存在用於實現該操作的構件,當不存在所述構件時:所述資訊獲取單元可以獲取使用者設備的架構資訊;並且所述資訊發送單元可以將使用者設備的架構資訊與所述構件的構件資訊一起發送至應用程式伺服器。所述應用程式伺服器還可以包括:構件選擇單元,用於根據使用者設備的架構資訊來選擇與構件資訊相對應的構件;以及構件發送單元,用於發送由所述構件選擇單元所選擇的構件。所述應用程式安裝系統還可以包括構件拼裝單元,回應於接收到的構件,所述構件拼裝單元在使用者設備上將接收到的構件拼裝至已安裝的應用程式。According to an embodiment of the present invention, in response to an operation on an installed application, determining whether there is a component for implementing the operation on the user device, when the component is not present: the information acquiring unit can obtain the use And the information sending unit may send the architecture information of the user equipment to the application server together with the component information of the component. The application server may further include: a component selection unit configured to select a component corresponding to the component information according to the architecture information of the user device; and a component sending unit configured to transmit the component selected by the component selection unit member. The application installation system can also include a component assembly unit that, in response to the received component, assembles the received component onto the installed device on the user device.
根據本發明的實施例,所述應用程式安裝系統可以實現在使用者設備中。可替換地,所述應用程式安裝系統可以實現在應用程式安裝伺服器中。According to an embodiment of the invention, the application installation system can be implemented in a user device. Alternatively, the application installation system can be implemented in an application installation server.
根據本發明的應用程式安裝方法和系統,可以實現對應用程式安裝包的動態配置,即,選取與使用者設備適配的各個模組來拼裝應用程式安裝包,並且僅在需要時才將與使用者設備適配的構件拼裝至已安裝的應用程式,從而使得針對特定使用者設備的應用程式安裝包的尺寸最小化,以節省傳輸應用程式安裝包所需的網路資源。According to the application installation method and system of the present invention, the dynamic configuration of the application installation package can be realized, that is, each module adapted to the user device is selected to assemble the application installation package, and only when needed The user device-compliant components are assembled to the installed application, thereby minimizing the size of the application installation package for a particular user device, thereby saving the network resources required to transfer the application installation package.
另外,當在應用程式伺服器上僅針對特定硬體配置的使用者介面模組或構件進行了升級時,與該硬體配置無關的使用者設備可以不必進行升級操作,從而為用戶避免了不必要的應用程式升級操作。In addition, when the user interface module or component of the specific hardware configuration is upgraded on the application server, the user device irrelevant to the hardware configuration does not need to be upgraded, thereby avoiding the user. The necessary application upgrade operations.
通過以下參考附圖的詳細說明,本發明的上述以及其他方面、特征和優點將得以呈現。在附圖中:The above as well as other aspects, features and advantages of the present invention will be apparent from the following detailed description. In the drawing:
圖1示出了根據本發明的實施例的應用程式安裝包的示意性結構框圖;1 shows a schematic structural block diagram of an application installation package according to an embodiment of the present invention;
圖2示出了根據本發明的實施例在已安裝的應用程式中拼裝構件的示圖;2 shows a diagram of assembling components in an installed application in accordance with an embodiment of the present invention;
圖3示出了根據本發明的一個實施例的應用程式安裝系統的示意圖;3 shows a schematic diagram of an application installation system in accordance with one embodiment of the present invention;
圖4示出了根據本發明的另一個實施例的應用程式安裝系統的示意圖;以及4 shows a schematic diagram of an application installation system in accordance with another embodiment of the present invention;
圖5示出了根據本發明的一個實施例的應用程式安裝方法的示意流程圖。FIG. 5 shows a schematic flow chart of an application installation method in accordance with one embodiment of the present invention.
下文中,將參照附圖詳細描述本公開的實施例。然而,本發明可按照多種不同形式具體實現,並且不應理解為限於本文闡述的實施例。提供這些實施例是為了使得本公開將是徹底和完整的,並且將把本發明的範圍完全傳遞給本領域技術人員。在附圖中,為了清楚起見,沒有按照比例繪製各個部件,並且相同的標號將始終用於指代相同或相似的部件。Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. However, the invention may be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. These embodiments are provided so that this disclosure will be thorough and complete, and the scope of the invention will be fully disclosed to those skilled in the art. In the figures, the various components are not drawn to scale, and the same reference numerals will be used to refer to the same or similar components.
除非另有說明或者在上下文中明確地指出,否則在描述本發明的上下文中使用的術語“一”、“一個”和“該”以及類似的所指物件應當解釋為涵蓋單數形式和複數形式。除非另有所指,否則術語“包括”、“具有”、“包含”和“含有”應當解釋為開放式術語(即,表示“包括但不限於”)。The terms "a", "an", "the" and "the" and "the" The terms "including", "comprising", "comprising" and "comprising" are to be interpreted as an open term (ie, meaning "including but not limited to").
除非另有定義,否則在本文中使用的所有技術術語和科學術語具有與本發明所屬領域的任一普通技術人員通常理解相同的含義。還應當理解,除非另有所指,否則本文使用的任何和所有實例或示例性術語僅用來更好地闡明本發明的而不是用來限制本發明的範圍。另外,除非另有定義,否則不可以過度地解釋在通常使用的字典中定義的所有術語。Unless otherwise defined, all technical and scientific terms used herein have the same meaning meaning meaning It is also to be understood that the invention is not to be construed as limited In addition, all terms defined in a commonly used dictionary may not be overly interpreted unless otherwise defined.
本發明提供了一種能夠與使用者設備適配且動態的應用程式安裝方法和系統。在本發明的各項技術方案中,應用程式安裝包是動態拼裝而成的。The present invention provides an application installation method and system that is adaptable and dynamic to a user device. In the technical solutions of the present invention, the application installation package is dynamically assembled.
圖1示出了根據本發明的實施例的應用程式安裝包的示意性結構框圖。FIG. 1 shows a schematic block diagram of an application installation package in accordance with an embodiment of the present invention.
如圖1所示,根據本發明的實施例的應用程式安裝包10可以包括動態配置的使用者介面模組11和操作邏輯模組12。As shown in FIG. 1, the application installation package 10 according to an embodiment of the present invention may include a dynamically configured user interface module 11 and an operation logic module 12.
使用者介面模組11與使用者設備的螢幕相關。具體而言,使用者介面模組11可以與使用者設備的螢幕的圖元密度相關和/或與螢幕的解析度相關。螢幕的圖元密度可以包括lDPI(例如,120DPI)、mDPI(例如,160DPI)、hDPI(例如,240DPI)以及xhDPI(320DPI)四個基本圖元密度。因而,對同一應用程式而言,可以存在有四個不同的使用者介面模組11-1至11-4以分別對應於四個圖元基本。然而,本發明構思不限於此。例如,使用者介面模組11可以對應於四個基本圖元密度以外的圖元密度;對於同一圖元密度可以存在多個使用者介面模組11以對應於不同的解析度;或者對同一應用程式而言,可以存在少於或多於四個不同的使用者介面模組11。在使用者介面模組11中,例如,可以實現視窗、功能表、按鈕等應用程式的顯示元素,並且可以實現各個顯示元素之間的相互位置關係。The user interface module 11 is associated with the screen of the user device. In particular, the user interface module 11 can be related to the pixel density of the screen of the user device and/or to the resolution of the screen. The primitive density of the screen may include four basic primitive densities of lDPI (eg, 120 DPI), mDPI (eg, 160 DPI), hDPI (eg, 240 DPI), and xhDPI (320 DPI). Thus, for the same application, there may be four different user interface modules 11-1 through 11-4 to correspond to four primitives, respectively. However, the inventive concept is not limited thereto. For example, the user interface module 11 may correspond to a density of primitives other than four basic primitive densities; for the same primitive density, there may be multiple user interface modules 11 to correspond to different resolutions; or for the same application For the program, there may be fewer or more than four different user interface modules 11. In the user interface module 11, for example, display elements of an application such as a window, a function table, and a button can be implemented, and mutual positional relationships between the display elements can be realized.
操作邏輯模組12與使用者設備的螢幕無關。對同一應用程式而言,只需要一個操作邏輯模組12。具體而言,在操作邏輯模組12中可以實現有各種演算法、資料結構等與顯示無關的應用程式部分,並且還可以實現各個顯示元素之間的調用關係,例如,通過點擊當前視窗中的某一功能表項目來切換至另一視窗。The operational logic module 12 is independent of the screen of the user device. For the same application, only one operational logic module 12 is required. Specifically, in the operation logic module 12, various execution-independent application parts such as algorithms and data structures can be implemented, and call relationships between display elements can also be implemented, for example, by clicking in the current window. A menu item to switch to another window.
在現有技術中,為了能夠適配多種不同的硬體配置,在一個應用程式安裝包中包括有多個使用者介面模組11和操作邏輯模組12,從而應用程式安裝包的尺寸較大。In the prior art, in order to be able to adapt to a plurality of different hardware configurations, a plurality of user interface modules 11 and operation logic modules 12 are included in one application installation package, so that the size of the application installation package is large.
根據本發明的技術方案,可以動態地配置使用者介面模組11以適配使用者設備的螢幕(比如,螢幕的圖元密度),使得針對特定使用者設備的應用程式安裝包的尺寸最小化。如圖1所示,可以根據使用者設備的螢幕來選擇使用者介面模組11-1至11-4之一來作為使用者介面模組11,並使其包括在應用程式安裝包中。According to the technical solution of the present invention, the user interface module 11 can be dynamically configured to adapt the screen of the user equipment (eg, the picture element density of the screen), so that the size of the application installation package for the specific user equipment is minimized. . As shown in FIG. 1, one of the user interface modules 11-1 to 11-4 can be selected as the user interface module 11 according to the screen of the user device, and included in the application installation package.
另外,以Android系統為例,其上的應用程式實際運行在Java虛擬機器(Java Virtual Machine,JVM)中,通過JVM來獲得/訪問底層的系統資源。有些時候,JVM並不能滿足全部的需求,於是Java提供了Java本地介面(Java Native Interface,JNI),來使得用諸如C/C++等語言編寫的代碼可以通過JNI與運行在JVM中的Java代碼集成。在一些應用程式中,為了實現某一特定功能或提高應用程式的運行效率,需要調用底層硬體平臺的指令集。開發人員可以例如通過C/C++等語言編寫的代碼來訪問底層硬體平臺的指令集,進而實現某一特定功能或提高應用程式的運行效率。因而,同一應用程式在不同的硬體平臺上的運行庫(或構件)是不同的,這是因為不同的硬體平臺所提供的指令集是不同的。In addition, taking the Android system as an example, the application on it actually runs in the Java Virtual Machine (JVM), and the underlying system resources are obtained/accessed through the JVM. In some cases, the JVM does not meet all the requirements, so Java provides the Java Native Interface (JNI) to enable code written in languages such as C/C++ to be integrated with Java code running in the JVM via JNI. . In some applications, in order to achieve a specific function or improve the efficiency of the application, you need to call the instruction set of the underlying hardware platform. Developers can access the instruction set of the underlying hardware platform, for example, through code written in languages such as C/C++, to implement a specific function or to improve the efficiency of the application. Thus, the same application's runtime (or component) on different hardware platforms is different because different hardware platforms provide different instruction sets.
在現有技術中,為了使得同一應用程式能夠在具有不同硬體架構的多種使用者設備上運行,在一個應用程式安裝包中包括有針對不同硬體架構編寫的運行庫,從而應用程式安裝包的尺寸較大。以Android系統的應用程式安裝包為例,為了實現跨硬體平臺,在一個Android包(Android Package,APK)文檔中可以包括針對ARM和x86兩種硬體架構的運行庫。In the prior art, in order to enable the same application to run on multiple user devices having different hardware architectures, an application installation package includes a runtime library written for different hardware architectures, so that the application installation package Large size. Take the Android application package as an example. In order to implement a cross-hardware platform, an Android package (Android Package, APK) document can include a runtime library for both ARM and x86 hardware architecture.
根據本發明的技術方案,可以動態地配置運行庫(或構件)以適配不同的硬體架構(比如,ARM、x86、MIPS等),使得針對特定使用者設備的應用程式安裝包的尺寸最小化。另外,如圖1所示,在拼裝應用程式安裝包10時並沒有包括構件1至構件3(僅以虛線框示出),而是在用戶對已安裝的應用程式進行操作時,才將相應的構件拼裝至已安裝的應用程式,使得應用程式安裝包的尺寸進一步減小。According to the technical solution of the present invention, the runtime library (or component) can be dynamically configured to adapt to different hardware architectures (for example, ARM, x86, MIPS, etc.), so that the size of the application installation package for a specific user device is the smallest. Chemical. In addition, as shown in FIG. 1, when assembling the application installation package 10, the components 1 to 3 are not included (shown only by the dashed box), but when the user operates the installed application, the corresponding The components are assembled to the installed application, which further reduces the size of the application installation package.
圖2示出了根據本發明的實施例在已安裝的應用程式中拼裝構件的示圖。如圖2所示,例如,可以回應於對已安裝的應用程式的操作,根據使用者設備的架構選擇構件1-1(例如,針對ARM架構的構件)或構件1-2(例如,針對x86架構的構件)作為構件1,並使其拼裝在已安裝的應用程式中。另外,可以根據構件的構件資訊來選擇相應的構件。構件資訊可以包括(但不限於)構件的唯一標識、名稱和/或版本號。2 shows an illustration of assembling components in an installed application in accordance with an embodiment of the present invention. As shown in FIG. 2, for example, in response to an operation on an installed application, a component 1-1 (eg, a component for an ARM architecture) or a component 1-2 (eg, for x86) may be selected according to the architecture of the user device. The component of the architecture) acts as component 1 and assembles it into the installed application. In addition, the corresponding component can be selected according to the component information of the component. Component information may include, but is not limited to, a unique identification, name, and/or version number of the component.
圖3示出了根據本發明的一個實施例的應用程式安裝系統100的示意圖。應用程式安裝系統100用於在使用者設備200上安裝應用程式。FIG. 3 shows a schematic diagram of an application installation system 100 in accordance with one embodiment of the present invention. The application installation system 100 is for installing an application on the user device 200.
參考圖3,根據本發明的一個實施例的應用程式安裝系統100可以包括資訊獲取單元101、資訊發送單元102和應用程式安裝單元103。資訊獲取單元101用於獲取使用者設備200的螢幕資訊。資訊發送單元102用於將使用者設備200的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器300。應用程式安裝單元103用於在使用者設備200上安裝應用程式。Referring to FIG. 3, an application installation system 100 according to an embodiment of the present invention may include an information acquisition unit 101, an information transmission unit 102, and an application installation unit 103. The information obtaining unit 101 is configured to acquire screen information of the user equipment 200. The information sending unit 102 is configured to send the screen information of the user device 200 to the application server 300 together with the identification information of the application to be installed. The application installation unit 103 is for installing an application on the user device 200.
根據本發明的一個實施例,應用程式伺服器300可以包括應用程式選擇單元301和應用程式發送單元302。回應於接收到的應用程式的標識資訊,應用程式選擇單元301可以根據與該標識資訊一起接收到的使用者設備200的螢幕資訊來選擇應用程式安裝包。應用程式安裝包可以包括與使用者設備200的螢幕適配的使用者介面模組。應用程式發送單元302用於發送由應用程式選擇單元301所選擇的應用程式安裝包。回應於接收到的應用程式安裝包,應用程式安裝單元103可以在使用者設備200上安裝應用程式。According to an embodiment of the present invention, the application server 300 may include an application selection unit 301 and an application transmission unit 302. In response to the received identification information of the application, the application selection unit 301 can select an application installation package based on the screen information of the user device 200 received together with the identification information. The application installation package can include a user interface module that is adapted to the screen of the user device 200. The application transmitting unit 302 is configured to transmit the application installation package selected by the application selecting unit 301. In response to the received application installation package, the application installation unit 103 can install the application on the user device 200.
應用程式安裝系統100與應用程式安裝單元103可以通過網路400相互通信。網路400可以是任何有線網路、無線網路或它們的組合。The application installation system 100 and the application installation unit 103 can communicate with each other through the network 400. Network 400 can be any wired network, wireless network, or a combination thereof.
圖4示出了根據本發明的另一個實施例的應用程式安裝系統100'的示意圖。FIG. 4 shows a schematic diagram of an application installation system 100' in accordance with another embodiment of the present invention.
與圖3所示的應用程式安裝系統100相比,圖4所示的應用程式安裝系統100'還包括構件拼裝單元104。另外,圖4所示的應用程式伺服器300'還包括構件選擇單元303和構件發送單元304。The application installation system 100' shown in FIG. 4 further includes a component assembly unit 104 as compared with the application installation system 100 shown in FIG. In addition, the application server 300' shown in FIG. 4 further includes a component selection unit 303 and a component transmission unit 304.
如上所述,應用程式有可能包括有需要調用底層硬體平臺的指令集的構件以實現特定的功能。在此情況下,回應於對已安裝的應用程式的操作,首先判定在使用者設備上是否存在用於實現該操作的構件,當不存在所述構件時:資訊獲取單元101獲取使用者設備200的架構資訊;並且資訊發送單元102將使用者設備200的架構資訊與所述構件的構件資訊一起發送至應用程式伺服器300。As mentioned above, an application may include components that need to call the instruction set of the underlying hardware platform to implement a particular function. In this case, in response to the operation of the installed application, it is first determined whether there is a component for realizing the operation on the user device, and when the component is not present: the information acquisition unit 101 acquires the user device 200. The information transmission unit 102 transmits the architecture information of the user device 200 to the application server 300 together with the component information of the component.
構件選擇單元303可以根據使用者設備200的架構資訊來選擇與構件資訊相對應的構件。構件發送單元304用於發送由構件選擇單元303所選擇的構件。回應於接收到的構件,構件拼裝單元104可以在使用者設備200上將接收到的構件拼裝至已安裝的應用程式。The component selection unit 303 can select a component corresponding to the component information according to the architecture information of the user device 200. The component transmitting unit 304 is for transmitting the component selected by the component selecting unit 303. In response to the received component, component assembly unit 104 can assemble the received component onto the installed device on user device 200.
根據本發明的實施例,當應用程式初始安裝在使用者設備200上時,用於安裝應用程式的應用程式安裝包可以不包括需要調用底層硬體平臺的指令集的各種構件,以使得應用程式安裝包的尺寸進一步減小。According to an embodiment of the present invention, when the application is initially installed on the user device 200, the application installation package for installing the application may not include various components that need to call the instruction set of the underlying hardware platform, so that the application The size of the package is further reduced.
在運行應用程式時,如果使用者的操作(例如,點擊了某一按鈕或選擇了某一功能表項目)需要調用一個(或多個)構件來實現特定功能,則首先判斷在使用者設備上是否存在有所述一個(或多個)構件。如果不存在,則可以通過上述方式從應用程式伺服器300獲得相應的構件,並將構件拼裝至已安裝的應用程式以實現特定功能。通過上述方式獲得的構件是與使用者設備的硬體平臺適配的構件,因而能夠使得應用程式正常運行。另外,無需得到與使用者設備的硬體平臺無關的構件,從而節省了網路資源。When running an application, if the user's action (for example, clicking a button or selecting a menu item) requires calling one (or more) widgets to implement a particular function, first determine on the user device Whether or not the one (or more) components are present. If not, the corresponding component can be obtained from the application server 300 in the manner described above, and the components can be assembled to the installed application to achieve a specific function. The component obtained in the above manner is a component that is adapted to the hardware platform of the user device, thereby enabling the application to operate normally. In addition, there is no need to obtain components that are independent of the hardware platform of the user device, thereby saving network resources.
雖然圖3和圖4將應用程式安裝系統100和100'示出為與使用者設備200分離,然而根據本發明的實施例,應用程式安裝系統可以實現在使用者設備200中。可替換地,應用程式安裝系統也可以實現為單獨的應用程式安裝伺服器。另外,本領域技術人員可以根據各自實際需要,將根據本發明的應用程式安裝系統的一部分功能實現在使用者設備中,而將另一部分功能實現在與使用者設備分離的其他設備中(例如,應用程式安裝伺服器)。例如,將資訊獲取單元實現在使用者設備中,而將資訊發送單元實現在與使用者設備分離的其他設備中。Although FIGS. 3 and 4 illustrate the application installation systems 100 and 100' as being separate from the user device 200, the application installation system can be implemented in the user device 200 in accordance with an embodiment of the present invention. Alternatively, the application installation system can also be implemented as a separate application installation server. In addition, a person skilled in the art can implement a part of the functions of the application installation system according to the present invention in the user equipment according to actual needs, and implement another part of the functions in other devices separated from the user equipment (for example, The application installs the server). For example, the information acquisition unit is implemented in the user device, and the information transmission unit is implemented in other devices separate from the user device.
圖5示出了根據本發明的一個實施例的應用程式安裝方法的示意流程圖。FIG. 5 shows a schematic flow chart of an application installation method in accordance with one embodiment of the present invention.
如圖5所示,首先獲取使用者設備的螢幕資訊(S501)。使用者設備的螢幕資訊可以包括有螢幕的圖元密度資訊和/或解析度資訊。隨後,將使用者設備的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器(S502)。回應於接收到的應用程式的標識資訊,應用程式伺服器根據與該標識資訊一起接收到的使用者設備的螢幕資訊來選擇應用程式安裝包(S503)。應用程式安裝包可以包括與使用者設備的螢幕適配的使用者介面模組。另外,應用程式安裝包還可以包括與使用者設備的螢幕無關的操作邏輯模組。應用程式伺服器發送所選擇的應用程式安裝包(S504)。回應於接收到的應用程式安裝包,在使用者設備上安裝應用程式(S505)。As shown in FIG. 5, screen information of the user equipment is first acquired (S501). The screen information of the user device may include the picture element density information and/or the resolution information of the screen. Subsequently, the screen information of the user device is sent to the application server along with the identification information of the application to be installed (S502). In response to the received identification information of the application, the application server selects an application installation package based on the screen information of the user device received with the identification information (S503). The application installation package can include a user interface module that is adapted to the screen of the user device. In addition, the application installation package can also include an operational logic module that is independent of the screen of the user device. The application server sends the selected application installation package (S504). In response to the received application installation package, the application is installed on the user device (S505).
另外,回應於對已安裝的應用程式的操作,判定在使用者設備上是否存在用於實現該操作的構件。當不存在所述構件時,可以獲取使用者設備的架構資訊(S506),並且將使用者設備的架構資訊與所述構件的構件資訊一起發送至應用程式伺服器(S507)。應用程式伺服器根據使用者設備的架構資訊來選擇與構件資訊相對應的構件(S508),並且發送所選擇的構件(S509)。回應於接收到的構件,在使用者設備上將接收到的構件拼裝至已安裝的應用程式(S510)。In addition, in response to the operation of the installed application, it is determined whether there is a component on the user device for implementing the operation. When the component is not present, the architecture information of the user device may be acquired (S506), and the architecture information of the user device is sent to the application server together with the component information of the component (S507). The application server selects a component corresponding to the component information based on the architecture information of the user device (S508), and transmits the selected component (S509). In response to the received component, the received component is assembled to the installed application on the user device (S510).
可以在使用者設備上來執行根據本發明的應用程式安裝方法。可替換地,可以通過與使用者設備分離的應用程式安裝伺服器來執行根據本發明的應用程式安裝方法。The application installation method according to the present invention can be performed on the user device. Alternatively, the application installation method according to the present invention can be performed by an application installation server separate from the user device.
雖然已經結合實施例顯示並描述了本發明的各實施例,但是本領域技術人員應當清楚的是,在不脫離本發明的精神和範圍的情況下,可作出各種修改和改變。本發明的保護範圍旨在涵蓋所有這些修改和改變。While various embodiments of the present invention have been shown and described, the embodiments of the invention The scope of the invention is intended to cover all such modifications and modifications.
1,2,3,1-1,1-2‧‧‧構件1,2,3,1-1,1-2‧‧‧ components
10,20‧‧‧應用程式安裝包10,20‧‧‧Application installation package
11,11-1,11-2,11-3,11-4‧‧‧使用者介面模組11,11-1,11-2,11-3,11-4‧‧‧User interface module
12‧‧‧操作邏輯模組12‧‧‧Operational logic module
100,100'‧‧‧應用程式安裝系統100,100'‧‧‧Application installation system
101‧‧‧資訊獲取單元101‧‧‧Information acquisition unit
102‧‧‧資訊發送單元102‧‧‧Information sending unit
103‧‧‧應用程式安裝單元103‧‧‧Application installation unit
104‧‧‧構件拼裝單元104‧‧‧Component assembly unit
200‧‧‧使用者設備200‧‧‧User equipment
300‧‧‧應用程式伺服器300‧‧‧Application Server
301‧‧‧應用程式選擇單元301‧‧‧Application Selection Unit
302‧‧‧應用程式發送單元302‧‧‧Application Sending Unit
303‧‧‧構件選擇單元303‧‧‧Component selection unit
304‧‧‧構件發送單元304‧‧‧Component sending unit
400‧‧‧網路400‧‧‧Network
S501‧‧‧獲取使用者設備的螢幕資訊S501‧‧‧Get the screen information of the user device
S502‧‧‧將資訊發送至應用程式伺服器S502‧‧‧Send information to the application server
S503‧‧‧選擇應用程式安裝包S503‧‧‧Select application installation package
S504‧‧‧發送應用程式安裝包S504‧‧‧Send application installation package
S505‧‧‧在使用者設備上安裝應用程式S505‧‧‧Install the application on the user device
S506‧‧‧獲取使用者設備的架構資訊S506‧‧‧Get information on the architecture of user equipment
S507‧‧‧將架構資訊發送至應用程式伺服器S507‧‧‧Send architectural information to the application server
S508‧‧‧選擇構件S508‧‧‧Select components
S509‧‧‧發送構件S509‧‧‧Send component
S510‧‧‧在使用者設備上拼裝構件S510‧‧‧Assembly components on user equipment
無no
100‧‧‧應用程式安裝系統 100‧‧‧Application installation system
101‧‧‧資訊獲取單元 101‧‧‧Information acquisition unit
102‧‧‧資訊發送單元 102‧‧‧Information sending unit
103‧‧‧應用程式安裝單元 103‧‧‧Application installation unit
200‧‧‧使用者設備 200‧‧‧User equipment
300‧‧‧應用程式伺服器 300‧‧‧Application Server
301‧‧‧應用程式選擇單元 301‧‧‧Application Selection Unit
302‧‧‧應用程式發送單元 302‧‧‧Application Sending Unit
400‧‧‧網路 400‧‧‧Network
Claims (14)
獲取使用者設備的螢幕資訊;
將使用者設備的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器;
回應於接收到的應用程式的標識資訊,應用程式伺服器根據與該標識資訊一起接收到的使用者設備的螢幕資訊來選擇應用程式安裝包,所述應用程式安裝包包括與使用者設備的螢幕適配的使用者介面模組;
應用程式伺服器發送所選擇的應用程式安裝包;以及
回應於接收到的應用程式安裝包,在使用者設備上安裝應用程式。An application installation method for installing an application on a user device, the method comprising the steps of:
Obtain the screen information of the user device;
Sending the screen information of the user device to the application server along with the identification information of the application to be installed;
In response to the received identification information of the application, the application server selects an application installation package according to the screen information of the user device received together with the identification information, the application installation package includes a screen with the user device Adapted user interface module;
The application server sends the selected application installation package; and installs the application on the user device in response to the received application installation package.
回應於對已安裝的應用程式的操作,判定在使用者設備上是否存在用於實現該操作的構件;
當不存在所述構件時,獲取使用者設備的架構資訊,並且將使用者設備的架構資訊與所述構件的構件資訊一起發送至應用程式伺服器;
應用程式伺服器根據使用者設備的架構資訊來選擇與構件資訊相對應的構件;
應用程式伺服器發送所選擇的構件;以及
回應於接收到的構件,在使用者設備上將接收到的構件拼裝至已安裝的應用程式。According to the application installation method described in claim 1, the method further includes the steps of:
Responding to the operation of the installed application, determining whether there is a component on the user device for implementing the operation;
Obtaining the architecture information of the user equipment when the component is not present, and sending the architecture information of the user equipment to the application server together with the component information of the component;
The application server selects a component corresponding to the component information according to the architecture information of the user device;
The application server sends the selected component; and in response to the received component, assembles the received component to the installed application on the user device.
回應於接收到的應用程式安裝包,所述應用程式安裝伺服器在使用者設備上安裝應用程式。According to the application installation method of claim 1, wherein the server is installed by the application to obtain the screen information of the user device, and the screen information of the user device is together with the identification information of the application to be installed. Sent to the application server and in response to the received application installation package, the application installation server installs the application on the user device.
回應於接收到的構件,所述應用程式安裝伺服器在使用者設備上將接收到的構件拼裝至已安裝的應用程式。The application installation method according to claim 2, wherein the application installation server obtains the architecture information of the user equipment, and sends the architecture information of the user equipment to the application server together with the component information. And in response to the received component, the application installation server assembles the received component onto the installed device on the user device.
資訊獲取單元,用於獲取使用者設備的螢幕資訊;
資訊發送單元,用於將使用者設備的螢幕資訊連同待安裝的應用程式的標識資訊一起發送至應用程式伺服器;以及
應用程式安裝單元,用於在使用者設備上安裝應用程式,並且
所述應用程式伺服器包括:
應用程式選擇單元,回應於接收到的應用程式的標識資訊,所述應用程式選擇單元根據與該標識資訊一起接收到的使用者設備的螢幕資訊來選擇應用程式安裝包,所述應用程式安裝包包括與使用者設備的螢幕適配的使用者介面模組;以及
應用程式發送單元,用於發送由所述應用程式選擇單元所選擇的應用程式安裝包,
其中,回應於接收到的應用程式安裝包,所述應用程式安裝單元在使用者設備上安裝應用程式。An application installation system for installing an application on a user device, including:
An information acquisition unit, configured to obtain screen information of the user equipment;
a message sending unit, configured to send the screen information of the user device to the application server together with the identification information of the application to be installed; and an application installation unit, configured to install the application on the user device, and the The application server includes:
The application selection unit is configured to respond to the identification information of the received application, and the application selection unit selects an application installation package according to the screen information of the user equipment received together with the identification information, the application installation package a user interface module including a screen adapted to the user device; and an application sending unit for transmitting an application installation package selected by the application selection unit,
The application installation unit installs an application on the user device in response to the received application installation package.
所述資訊獲取單元獲取使用者設備的架構資訊;並且
所述資訊發送單元將使用者設備的架構資訊與所述構件的構件資訊一起發送至應用程式伺服器,並且
所述應用程式伺服器還包括:
構件選擇單元,用於根據使用者設備的架構資訊來選擇與構件資訊相對應的構件;以及
構件發送單元,用於發送由所述構件選擇單元所選擇的構件,
所述應用程式安裝系統還包括構件拼裝單元,回應於接收到的構件,所述構件拼裝單元在使用者設備上將接收到的構件拼裝至已安裝的應用程式。The application installation system of claim 8, wherein, in response to an operation of the installed application, determining whether there is a component for realizing the operation on the user device, when the component is not present Time:
The information obtaining unit acquires the architecture information of the user equipment; and the information sending unit sends the architecture information of the user equipment to the application server together with the component information of the component, and the application server further includes :
a component selection unit configured to select a component corresponding to the component information according to the architecture information of the user device; and a component sending unit configured to send the component selected by the component selection unit,
The application installation system also includes a component assembly unit that, in response to the received component, assembles the received component onto the installed device on the user device.
The application installation system of claim 8, wherein the application installation package comprises an operation logic module, the operation logic module being independent of a screen of the user device.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410764857.0A CN105740004A (en) | 2014-12-12 | 2014-12-12 | Application program installation method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201635140A true TW201635140A (en) | 2016-10-01 |
TWI581185B TWI581185B (en) | 2017-05-01 |
Family
ID=56241351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104122103A TWI581185B (en) | 2014-12-12 | 2015-07-08 | Method and system for installing application |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105740004A (en) |
TW (1) | TWI581185B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356464A (en) * | 2020-10-13 | 2022-04-15 | 阿里巴巴集团控股有限公司 | User interface adaptation method, rendering method, device, equipment and storage medium |
CN118444942B (en) * | 2024-07-01 | 2024-10-29 | 比亚迪股份有限公司 | Application program preassembling method, controller, medium, program product and vehicle |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011021908A2 (en) * | 2009-08-21 | 2011-02-24 | Samsung Electronics Co., Ltd. | Application downloading method, application providing method, user terminal using the same |
KR101710427B1 (en) * | 2009-08-21 | 2017-02-28 | 삼성전자주식회사 | Method for service to download application, method for service to provide application, electronic device applying the same |
US8910148B2 (en) * | 2010-07-29 | 2014-12-09 | International Business Machines Corporation | Packaging an application with plurality of libraries |
CN102137390A (en) * | 2010-12-13 | 2011-07-27 | 华为软件技术有限公司 | Method, equipment and system for downloading mobile phone software |
CN102129380B (en) * | 2011-03-10 | 2015-05-13 | 宇龙计算机通信科技(深圳)有限公司 | Server and method and mobile terminal for providing software |
CN103744595B (en) * | 2013-12-30 | 2017-03-22 | 广州华多网络科技有限公司 | Self-adaption display method and device |
CN104182260A (en) * | 2014-08-27 | 2014-12-03 | 厦门美图之家科技有限公司 | Method for providing installation packages of application programs |
-
2014
- 2014-12-12 CN CN201410764857.0A patent/CN105740004A/en active Pending
-
2015
- 2015-07-08 TW TW104122103A patent/TWI581185B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN105740004A (en) | 2016-07-06 |
TWI581185B (en) | 2017-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830720B (en) | Intelligent contract running method, device, system and computer readable storage medium | |
US8661407B2 (en) | Framework for programming embedded system applications | |
CN106325847B (en) | Method and device for acquiring application program function based on iOS platform | |
US10282185B2 (en) | Method and apparatus for firmware virtualization | |
US8966508B2 (en) | Method for executing hybrid web application and apparatus therefor | |
CN108536524A (en) | resource updating method, device, terminal and storage medium | |
US20130185699A1 (en) | Storage Device Including Software Development Kit that Supports Multiple Types of Platforms and Multiple Programming Languages | |
US9727507B2 (en) | USB device remote control method and system | |
EP2323034A2 (en) | Information-processing device, communication system, program, and information-processing method | |
Da Silva et al. | Internet of things out of the box: using TOSCA for automating the deployment of IoT environments | |
CN106372250A (en) | Parameter passing method and device capable of starting local application through URL protocol | |
CN114968406B (en) | Plug-in management method and device, electronic equipment and storage medium | |
CN111142884A (en) | Version deployment method, device, electronic device and storage medium of applet | |
CN110968331A (en) | Method and apparatus for running an application | |
CN1322421C (en) | Agent system for mobile agents, computer network and method for downloading agent system from host computer to client computer of computer network | |
TW200805161A (en) | Intelligent platform management interface firmware architecture and method of building the same | |
TWI581185B (en) | Method and system for installing application | |
US8880701B2 (en) | System and method for supporting of network service | |
JP5420622B2 (en) | program | |
CN111158777A (en) | Component calling method, apparatus, and computer-readable storage medium | |
EP3872630B1 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
CN111163167A (en) | System installation method and device | |
KR20020009741A (en) | Apparatus for etalishing operating platform of mobile phone and wireless up-grading method of application thereby | |
CN113448650A (en) | Live broadcast function plug-in loading method, device, equipment and storage medium | |
CN109995711B (en) | Application development method and device of intelligent robot, terminal equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |