TWI634481B - System and method for packaging applications - Google Patents

System and method for packaging applications Download PDF

Info

Publication number
TWI634481B
TWI634481B TW104122087A TW104122087A TWI634481B TW I634481 B TWI634481 B TW I634481B TW 104122087 A TW104122087 A TW 104122087A TW 104122087 A TW104122087 A TW 104122087A TW I634481 B TWI634481 B TW I634481B
Authority
TW
Taiwan
Prior art keywords
application
component
screen
user interface
user device
Prior art date
Application number
TW104122087A
Other languages
Chinese (zh)
Other versions
TW201636834A (en
Inventor
左華華
榕 陳
宋宇培
Original Assignee
上海科泰世紀科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海科泰世紀科技有限公司 filed Critical 上海科泰世紀科技有限公司
Publication of TW201636834A publication Critical patent/TW201636834A/en
Application granted granted Critical
Publication of TWI634481B publication Critical patent/TWI634481B/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

一種應用程式拼裝方法和系統,用於拼裝能夠安裝在用戶設備上的應用程式的安裝包。所述系統包括:用戶介面模組選擇單元,用於根據用戶設備的螢幕資訊選擇與用戶設備的螢幕適配的用戶介面模組;以及安裝包拼裝單元,用於將由用戶介面模組選擇單元所選擇的用戶介面模組與操作邏輯模組拼裝在一起以形成所述應用程式的安裝包,所述操作邏輯模組與用戶設備的螢幕無關。 An application assembly method and system for assembling an installation package of an application that can be installed on a user device. The system includes: a user interface module selection unit, a user interface module for selecting a screen adapted to the screen of the user equipment according to the screen information of the user equipment; and an installation package assembly unit for selecting the unit by the user interface module The selected user interface module is assembled with the operational logic module to form an installation package of the application, the operational logic module being independent of the screen of the user device.

Description

應用程式拼裝方法和系統 Application assembly method and system

本申請公開的內容涉及一種應用程式安裝包的拼裝方法和系統,具體而言,涉及一種與用戶設備適配且動態的應用程式安裝包的拼裝方法和系統。 The content disclosed in the present application relates to an assembly method and system for an application installation package, and in particular to a method and system for assembling an application package 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. In addition, users can additionally install other applications on these electronic devices according to their personal needs.

在現有技術中,在可攜式智慧電子設備上安裝應用程式的方式大致可以分為兩種:一種方式是,用戶直接利用其電子設備上的“應用程式商店”之類的應用程式(例如,Android系統上的“Google Play”應用程式)來選擇需要安裝的應用程式,然後下載所選應用程式的應用程式安裝包並在電子設備上安裝在電子設備上;另一種方式是,用戶利用諸如個人電腦之類的設備訪問特定的應用程式伺服器來選擇需要安裝的應用程式,然後將所選應用程式的應用程式安裝包下載或推送到用戶的可攜式智慧電子設備上以進行安裝。然而,無論採取何種形式,都是透過一次下載或推送來得到應用程式安裝包的。也就是說,在安裝應用程式之前,不能動態地配置應用程式的安裝包。然而,各種電子設備在硬體配置方面存在有差異,例如,螢幕的畫素密度可以包括1DPI(例如, 120DPI)、mDPI(例如,160DPI)、hDPI(例如,240DPI)以及xhDPI(320DPI)四個基本畫素密度,對於同一畫素密度存在有多種不同的解析度,並且硬體的架構可以包括x86、ARM、MIPS等等。為了能夠在各種不同配置的電子設備上正常地運行和顯示,應用程式安裝包的尺寸通常較大以涵蓋各種可能的硬體配置,從而在下載或推送過程中會佔用更多的網路資源。 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 Android) selects the application to be installed, then downloads the application installation package of the selected application and installs it on the electronic device on the electronic device; the other way is that the user utilizes, for example, an individual A device such as a computer 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 smart device for installation. However, regardless of the form, the application installation package is obtained through a download or push. 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 pixel density of the screen may include 1 DPI (for example, 120DPI), mDPI (eg, 160DPI), hDPI (eg, 240DPI), and xhDPI (320DPI) four basic pixel densities, there are many different resolutions for the same pixel density, and the hardware architecture can include x86, ARM, MIPS, and more. 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 will be 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-like 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 assembling 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 your users.

根據本發明的一個方面,提供了一種應用程式拼裝方法,用於拼裝能夠安裝在用戶設備上的應用程式的安裝包,所述方法包括步驟:根據用戶設備的螢幕資訊選擇與用戶設備的螢幕適配的用戶介面模組;以及將所選擇的 用戶介面模組與操作邏輯模組拼裝在一起以形成所述應用程式的安裝包,所述操作邏輯模組與用戶設備的螢幕無關。 According to an aspect of the present invention, an application assembling method is provided for assembling an installation package of an application that can be installed on a user device, the method comprising the steps of: selecting a screen suitable for the user device according to the screen information of the user device; User interface module; and the selected The user interface module is assembled with the operational logic module to form an installation package of the application, the operational logic module being independent of the screen of the user device.

根據本發明的實施例,所述方法還可以包括步驟:回應於對已安裝的應用程式的操作,判定在用戶設備上是否存在用於實現該操作的構件,當不存在所述構件時:根據用戶設備的架構資訊來選擇用於實現該操作的構件;以及在用戶設備上將所選擇的構件拼裝至所述已安裝的應用程式。 According to an embodiment of the invention, the method may further comprise the step of: determining, in response to an operation on the installed application, whether there is a means for implementing the operation on the user device, when the component is not present: The architectural information of the user device selects a component for implementing the operation; and assembles the selected component to the installed application on the user device.

根據本發明的實施例,可以透過應用程式伺服器來選擇所述用戶介面模組並將所選擇的用戶介面模組與操作邏輯模組拼裝在一起。 According to an embodiment of the invention, the user interface module can be selected by the application server and the selected user interface module and the operation logic module can be assembled together.

根據本發明的實施例,可以透過應用程式伺服器來選擇所述構件,並且可以透過用戶設備自身或者應用程式安裝伺服器將所選擇的構件拼裝至所述已安裝的應用程式。 According to an embodiment of the present invention, the component may be selected by an application server, and the selected component may be assembled to the installed application through the user device itself or an application installation server.

根據本發明的實施例,用戶設備的螢幕資訊可以包括螢幕的畫素密度資訊和/或解析度資訊。 According to an embodiment of the invention, the screen information of the user equipment may include pixel density information and/or resolution information of the screen.

根據本發明的另一個方面,提供了一種應用程式拼裝系統,用於拼裝能夠安裝在用戶設備上的應用程式的安裝包,所述系統包括:用戶介面模組選擇單元,用於根據用戶設備的螢幕資訊選擇與用戶設備的螢幕適配的用戶介面模組;以及安裝包拼裝單元,用於將由用戶介面模組選擇單元所選擇的用戶介面模組與操作邏輯模組拼裝在一起以形成所述應用程式的安裝包,所述操作邏輯模組與用戶設備的螢幕無關。 According to another aspect of the present invention, an application assembly system is provided for assembling an installation package of an application that can be installed on a user device, the system comprising: a user interface module selection unit for The screen information selects a user interface module adapted to the screen of the user device; and the installation package assembling unit is configured to assemble the user interface module selected by the user interface module selection unit and the operation logic module to form the The installation package of the application, the operation logic module is independent of the screen of the user equipment.

根據本發明的實施例,所述應用程式拼裝系統還可以包括構件選擇單元和構件拼裝單元。回應於對已安裝的應用程式的操作,判定在用戶設備上是否存在用於實現該操作的構件,當不存在所述構件時,所述構件選擇單元用於根據用戶設備的架構資訊來選擇用於實現該操作的構件,並且所述構件拼 裝單元用於在用戶設備上將由構件選擇單元所選擇的構件拼裝至所述已安裝的應用程式。 According to an embodiment of the present invention, the application assembling system may further include a component selection unit and a component assembly unit. Responding to the 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, the component selecting unit is configured to select according to the architecture information of the user device a member that implements the operation, and the member is spelled The loading unit is configured to assemble the component selected by the component selecting unit to the installed application on the user device.

根據本發明的實施例,所述用戶介面模組選擇單元和所述安裝包拼裝單元可以實現在應用程式伺服器中。 According to an embodiment of the invention, the user interface module selection unit and the installation package assembly unit may be implemented in an application server.

根據本發明的實施例,所述構件選擇單元可以實現在應用程式伺服器中,並且所述構件拼裝單元可以實現在用戶設備中或者實現在應用程式安裝伺服器中。 According to an embodiment of the invention, the component selection unit may be implemented in an application server, and the component assembly unit may be implemented in a user device or in an application installation server.

根據本發明的應用程式拼裝方法和系統,可以實現對應用程式安裝包的動態配置,即,選取與用戶設備適配的各個模組來拼裝應用程式安裝包,並且僅在需要時才將與用戶設備適配的構件拼裝至已安裝的應用程式,從而使得針對特定用戶設備的應用程式安裝包的尺寸最小化,以節省傳輸應用程式安裝包所需的網路資源。 According to the application assembling 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 equipment is selected to assemble the application installation package, and the user is only required when needed. The device-fitted components are assembled to the installed application, minimizing the size of the application installation package for a particular user device to save the network resources needed 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 equipment irrelevant to the hardware configuration may not need to be upgraded, thereby avoiding unnecessary for the user. Application upgrade operation.

10‧‧‧應用程式安裝包 10‧‧‧Application installation package

11‧‧‧用戶介面模組 11‧‧‧User Interface Module

12‧‧‧操作邏輯模組 12‧‧‧Operational logic module

20‧‧‧拼裝構件 20‧‧‧Assembly components

100‧‧‧用戶設備 100‧‧‧User equipment

200‧‧‧應用程式伺服器 200‧‧‧Application Server

300‧‧‧網路 300‧‧‧Network

400‧‧‧應用程式安裝伺服器 400‧‧‧Application Install Server

500‧‧‧應用程式拼裝系統 500‧‧‧Application Assembly System

501‧‧‧用戶介面模組選擇單元 501‧‧‧User Interface Module Selection Unit

502‧‧‧安裝包拼裝單元 502‧‧‧Installation package assembly unit

503‧‧‧構建選擇單元 503‧‧‧Build selection unit

504‧‧‧構件拼裝單元 504‧‧‧Component assembly unit

透過以下參考附圖的詳細說明,本發明的上述以及其他方面、特徵和優點將得以呈現。在附圖中:圖1示出了根據本發明的實施例的應用程式安裝包的示意性結構框圖;圖2示出了根據本發明的實施例在已安裝的應用程式中拼裝構件的示意圖;圖3和圖4示出了可以應用根據本發明的實施例的應用程式拼裝方法和系統的應用環境;圖5示出了根據本發明的實施例的應用程式拼裝系統的示意性框圖;以及 圖6示出了根據本發明的一個實施例的應用程式拼裝方法的示意流程圖。 The above as well as other aspects, features and advantages of the present invention will be apparent from the following description of the drawings. In the drawings: FIG. 1 shows a schematic block diagram of an application installation package according to an embodiment of the present invention; FIG. 2 shows a schematic view of assembling components in an installed application according to an embodiment of the present invention. 3 and 4 illustrate an application environment in which an application assembling method and system according to an embodiment of the present invention can be applied; and FIG. 5 shows a schematic block diagram of an application assembling system according to an embodiment of the present invention; as well as FIG. 6 shows a schematic flow chart of an application assembling 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 Moreover, unless otherwise defined, all terms defined in a commonly used dictionary may not be overly interpreted.

本發明提供了一種能夠與用戶設備適配且動態的應用程式拼裝方法和系統。在本發明的各項技術方案中,應用程式安裝包是動態拼裝而成的。 The present invention provides an application assembly method and system that can be adapted and dynamic with 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可以與用戶設備的螢幕的畫素密度相關和/或與螢幕的解析度相關。螢幕的畫素密度可以包括1DPI(例如,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 pixel density of the screen may include four basic pixel densities of 1 DPI (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 pixel bases, respectively. However, the inventive concept is not limited thereto. For example, the user interface module 11 may correspond to pixel density other than four basic pixel densities; for the same pixel density, there may be multiple user interface modules 11 to correspond to different resolutions; or for the same application. That is, 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 equipment. 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 various algorithms and data structures, can be implemented, and a call relationship 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 device (eg, the pixel density of the screen) such that the size of the application installation package for the specific user device 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 equipment, 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 obtains/accesses the underlying system resources 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 integrate 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 underlying hardware platform's instruction set, for example, through code written in languages such as C/C++, to achieve 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 written for different hardware architectures, so that the size of the application installation package Larger. 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 (or component) can be dynamically configured to adapt to different hardware architectures (eg, ARM, x86, MIPS, etc.), so that the size of the application installation package for a specific user device is minimized. . 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 only when the user operates the installed application. 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 may be selected according to the architecture of the user device (eg, for an x86 architecture) The component) comes as component 1 and is assembled in 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和圖4示出了可以應用根據本發明的實施例的應用程式拼裝方法和系統的應用環境。 3 and 4 illustrate an application environment in which an application assembling method and system according to an embodiment of the present invention can be applied.

參考圖3,在示出的應用環境中包括:用戶設備100、應用程式伺服器200以及用於實現用戶設備100與應用程式伺服器200之間的通信的網路300。用戶設備100可以是能夠在其上安裝應用程式的任何設備,包括(但不限於)智慧手機、平板電腦之類的可攜式智慧電子設備。應用程式伺服器200可以是提供能夠安裝在用戶設備100上的應用程式的各種類型的伺服器,並且應用程式伺服器200可以以應用程式安裝包的形式來提供各種應用程式。網路300可以是任何有線網路、無線網路或它們的組合。 Referring to FIG. 3, in the illustrated application environment, a user device 100, an application server 200, and a network 300 for implementing communication between the user device 100 and the application server 200 are included. The user device 100 can be any device on which an application can be installed, including (but not limited to) a portable smart device such as a smart phone or a tablet. The application server 200 may be various types of servers that provide an application that can be installed on the user device 100, and the application server 200 can provide various applications in the form of an application installation package. Network 300 can be any wired network, wireless network, or a combination thereof.

與圖3所示的應用環境相比,在圖4所示的應用環境中還包括應用程式安裝伺服器400。應用程式安裝伺服器400用於在用戶設備100上安裝由應用程式伺服器200提供的各種應用程式。 Compared with the application environment shown in FIG. 3, the application installation server 400 is further included in the application environment shown in FIG. The application installation server 400 is for installing various applications provided by the application server 200 on the user device 100.

圖5示出了根據本發明的實施例的應用程式拼裝系統的示意性框圖。 FIG. 5 shows a schematic block diagram of an application assembly system in accordance with an embodiment of the present invention.

參見圖1和圖5,根據本發明的實施例的應用程式拼裝系統500可以包括用戶介面模組選擇單元501和安裝包拼裝單元502。用戶介面模組選擇單元501用於根據用戶設備100的螢幕資訊選擇與用戶設備100的螢幕適配的用戶介面模組(例如,圖1所示的用戶介面模組11-1至11-4之一)。安裝包拼裝單元502用於將由用戶介面模組選擇單元501所選擇的用戶介面模組與操作邏輯模組(例如,圖1所示的操作邏輯模組12)拼裝在一起以形成應用程式的安裝包(例如,圖1所示的應用程式安裝包10)。操作邏輯模組12與用戶設備100的螢幕無關。 Referring to FIGS. 1 and 5, an application assembling system 500 according to an embodiment of the present invention may include a user interface module selecting unit 501 and an installation package assembling unit 502. The user interface module selecting unit 501 is configured to select a user interface module that is adapted to the screen of the user equipment 100 according to the screen information of the user equipment 100 (for example, the user interface modules 11-1 to 11-4 shown in FIG. 1). One). The installation package assembling unit 502 is configured to assemble the user interface module selected by the user interface module selection unit 501 and the operation logic module (for example, the operation logic module 12 shown in FIG. 1) to form an application installation. Package (for example, the application installation package 10 shown in Figure 1). The operational logic module 12 is independent of the screen of the user device 100.

參見圖3、圖4和圖5,用戶介面模組選擇單元501和安裝包拼裝單元502可以實現在應用程式伺服器200中。應用程式伺服器200可以回應於來自用戶設備100的請求,透過用戶介面模組選擇單元501來選擇與由用戶設備100提供的螢幕資訊適配的用戶介面模組。用戶設備100提供的螢幕資訊可以包括螢幕的畫素密度資訊和/或解析度資訊。安裝包拼裝單元502可以將由用戶介面模組選擇單元501所選擇的用戶介面模組與操作邏輯模組拼裝在一起以形成應用程式安裝包。隨後,應用程式伺服器200透過網路300將拼裝的應用程式安裝包發送至用戶設備100,並且在用戶設備100上安裝應用程式。 Referring to FIGS. 3, 4 and 5, the user interface module selection unit 501 and the installation package assembly unit 502 can be implemented in the application server 200. The application server 200 can select a user interface module adapted to the screen information provided by the user device 100 through the user interface module selection unit 501 in response to a request from the user device 100. The screen information provided by the user device 100 may include pixel density information and/or resolution information of the screen. The installation package assembling unit 502 can assemble the user interface module selected by the user interface module selection unit 501 and the operation logic module to form an application installation package. Subsequently, the application server 200 transmits the assembled application installation package to the user device 100 via the network 300, and installs the application on the user device 100.

此外,在圖4所示的應用環境中,可以透過應用程式安裝伺服器400獲取用戶設備100的螢幕資訊,並將該螢幕資訊透過網路300發送至應用程式伺服器200。應用程式伺服器200透過網路300將拼裝的應用程式安裝包發送至應用程式安裝伺服器400,並且透過應用程式安裝伺服器400在用戶設備100上安裝應用程式。 In addition, in the application environment shown in FIG. 4, the screen information of the user equipment 100 can be obtained through the application installation server 400, and the screen information can be sent to the application server 200 through the network 300. The application server 200 transmits the assembled application installation package to the application installation server 400 via the network 300, and installs the application on the user device 100 through the application installation server 400.

可附加地,根據本發明的實施例的應用程式拼裝系統500還可以包括構件選擇單元503和構件拼裝單元504。回應於對已安裝的應用程式的操作,判定在用戶設備100上是否存在用於實現該操作的構件,當不存在所述構件時:構件選擇單元503用於根據用戶設備100的架構資訊來選擇用於實現該操作的構件。構件拼裝單元504用於在用戶設備100上將由構件選擇單元503所選擇的構件拼裝至所述已安裝的應用程式。 Additionally, the application assembling system 500 according to an embodiment of the present invention may further include a component selecting unit 503 and a component assembling unit 504. In response to the operation of the installed application, it is determined whether there is a component for realizing the operation on the user device 100. When the component is not present: the component selecting unit 503 is configured to select according to the architecture information of the user device 100. The component used to implement this operation. The component assembling unit 504 is configured to assemble the component selected by the component selecting unit 503 to the installed application on the user device 100.

如上所述,應用程式有可能包括有需要調用底層硬體平臺的指令集的構件以實現特定的功能。在此情況下,回應於對已安裝的應用程式的操作,首先判定在用戶設備上是否存在用於實現該操作的構件,當不存在所述構件時,需要將實現該特定功能的構件拼裝至所述已安裝的應用程式。構件選擇單元503可以根據用戶設備100的架構資訊來選擇用於實現該操作的構件。構件拼 裝單元504可以在用戶設備100上將由構件選擇單元503所選擇的構件拼裝至所述已安裝的應用程式,進而實現特定的功能。 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 component that implements the specific function needs to be assembled to The installed application. The component selection unit 503 can select a component for implementing the operation according to the architecture information of the user device 100. Component fight The loading unit 504 can assemble the components selected by the component selecting unit 503 onto the installed application on the user device 100, thereby implementing a specific function.

此外,可以根據構件的構件資訊來選擇相應的構件。具體而言,回應於對已安裝的應用程式的操作,當判定在用戶設備100上不存在用於實現該操作的構件時,可以獲取用於實現該操作的構件的構件資訊。構件選擇單元503可以根據用戶設備100的架構資訊來選擇與構件資訊相對應的構件。構件資訊可以包括(但不限於)構件的唯一標識、名稱和/或版本號。 In addition, the corresponding components can be selected based on the component information of the components. Specifically, in response to the operation of the installed application, when it is determined that there is no means for realizing the operation on the user device 100, the component information of the means for realizing the operation can be acquired. The component selection unit 503 can select a component corresponding to the component information according to the architecture information of the user device 100. Component information may include, but is not limited to, a unique identification, name, and/or version number of the component.

根據本發明的實施例,當應用程式初始安裝在用戶設備100上時,應用程式安裝包10可以不包括需要調用底層硬體平臺的指令集的各種構件,以使得應用程式安裝包10的尺寸進一步減小。 According to an embodiment of the present invention, when the application is initially installed on the user device 100, the application installation package 10 may not include various components that need to call the instruction set of the underlying hardware platform, so that the size of the application installation package 10 is further Reduced.

在運行應用程式時,如果用戶的操作(例如,點擊了某一按鈕或選擇了某一功能表項目)需要調用一個(或多個)構件來實現特定功能,則首先判斷在用戶設備上是否存在有所述一個(或多個)構件。如果不存在,則可以透過上述方式獲得相應的構件,並將構件拼裝至已安裝的應用程式以實現特定功能。透過上述方式獲得的構件是與用戶設備的硬體平臺適配的構件,因而能夠使得應用程式正常運行。此外,無需得到與用戶設備的硬體平臺無關的構件,從而節省了網路資源。 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 if there is a presence on the user device. There is one (or more) of the components. If it does not exist, you can get the corresponding components in the above way and assemble the components to the installed application to achieve specific functions. 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和圖5,構件選擇單元503可以實現在應用程式伺服器200中,而構件拼裝單元504可以實現在用戶設備100中或者實現在應用程式安裝伺服器400中。也就是說,雖然在圖5中將根據本發明的實施例的應用程式拼裝系統500示出為一個整體,然而應用程式拼裝系統500中的各個單元可以分別實現在不同的設備或伺服器中。本領域技術人員能夠根據具體需要來合理地佈置各個單元,而本發明旨在涵蓋所有這些可能的變化。 Referring to FIGS. 3, 4, and 5, the component selection unit 503 can be implemented in the application server 200, and the component assembly unit 504 can be implemented in the user device 100 or in the application installation server 400. That is, although the application assembly system 500 according to an embodiment of the present invention is illustrated as a whole in FIG. 5, the various units in the application assembly system 500 may be implemented in different devices or servers, respectively. Those skilled in the art will be able to arbitrarily arrange the various units as needed, and the present invention is intended to cover all such possible variations.

圖6示出了根據本發明的一個實施例的應用程式拼裝方法的示意流程圖。 FIG. 6 shows a schematic flow chart of an application assembling method in accordance with one embodiment of the present invention.

如圖6所示,首先根據用戶設備的螢幕資訊選擇與用戶設備的螢幕適配的用戶介面模組(S601)。用戶設備的螢幕資訊可以包括螢幕的畫素密度資訊和/或解析度資訊。隨後,將所選擇的用戶介面模組與操作邏輯模組拼裝在一起以形成所述應用程式的安裝包(S602)。操作邏輯模組與用戶設備的螢幕是無關的。 As shown in FIG. 6, the user interface module adapted to the screen of the user equipment is first selected according to the screen information of the user equipment (S601). The screen information of the user device may include pixel density information and/or resolution information of the screen. Subsequently, the selected user interface module and the operation logic module are assembled together to form an installation package of the application (S602). The operational logic module is independent of the screen of the user equipment.

可附加地,回應於對已安裝的應用程式的操作,判定在用戶設備上是否存在用於實現該操作的構件。當不存在所述構件時,可以根據用戶設備的架構資訊來選擇用於實現該操作的構件(S603)。隨後,在用戶設備上將所選擇的構件拼裝至所述已安裝的應用程式(S604)。 Additionally, in response to operation of the installed application, it is determined whether there is a component on the user device for implementing the operation. When the member is not present, the member for realizing the operation may be selected according to the architecture information of the user device (S603). Subsequently, the selected component is assembled to the installed application on the user device (S604).

雖然已經結合實施例顯示並描述了本發明的各實施例,但是本領域技術人員應當清楚的是,在不脫離本發明的精神和範圍的情況下,可作出各種修改和改變。本發明的保護範圍旨在涵蓋所有這些修改和改變。 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.

Claims (8)

一種應用程式拼裝方法,用於拼裝能夠安裝在用戶設備上的應用程式的安裝包,所述方法包括步驟:根據用戶設備的螢幕資訊選擇與用戶設備的螢幕適配的用戶介面模組;將所選擇的用戶介面模組與操作邏輯模組拼裝在一起以形成所述應用程式的安裝包,所述操作邏輯模組與用戶設備的螢幕無關;回應於對已安裝的應用程式的操作,判定在用戶設備上是否存在用於實現該操作的構件,當不存在所述構件時:根據用戶設備的架構資訊來選擇用於實現該操作的構件;以及在用戶設備上將所選擇的構件拼裝至所述已安裝的應用程式。 An application assembling method for assembling an installation package of an application that can be installed on a user device, the method comprising the steps of: selecting a user interface module adapted to a screen of the user device according to screen information of the user device; The selected user interface module is assembled with the operation logic module to form an installation package of the application, the operation logic module is independent of the screen of the user equipment; in response to the operation of the installed application, the determination is Whether there is a component on the user device for implementing the operation, when the component is not present: selecting a component for implementing the operation according to the architecture information of the user device; and assembling the selected component to the user device The installed application. 如申請專利範圍第1項所述之應用程式拼裝方法,其中,透過應用程式伺服器來選擇所述用戶介面模組並將所選擇的用戶介面模組與操作邏輯模組拼裝在一起。 The application assembling method according to claim 1, wherein the user interface module is selected by an application server and the selected user interface module is assembled with the operation logic module. 如申請專利範圍第1項所述之應用程式拼裝方法,其中,透過應用程式伺服器來選擇所述構件,並且透過用戶設備自身或者應用程式安裝伺服器將所選擇的構件拼裝至所述已安裝的應用程式。 The application assembling method of claim 1, wherein the component is selected by an application server, and the selected component is assembled to the installed by the user device itself or an application installation server. Application. 如申請專利範圍第1項所述之應用程式拼裝方法,其中,用戶設備的螢幕資訊包括螢幕的畫素密度資訊和/或解析度資訊。 The application assembling method according to claim 1, wherein the screen information of the user equipment includes pixel density information and/or resolution information of the screen. 一種應用程式拼裝系統,用於拼裝能夠安裝在用戶設備上的應用程式的安裝包,所述系統包括:用戶介面模組選擇單元,用於根據用戶設備的螢幕資訊選擇與用戶設備的螢幕適配的用戶介面模組;安裝包拼裝單元,用於將由用戶介面模組選擇單元所選擇的用戶介面 模組與操作邏輯模組拼裝在一起以形成所述應用程式的安裝包,所述操作邏輯模組與用戶設備的螢幕無關;以及構件選擇單元和構件拼裝單元,其中,回應於對已安裝的應用程式的操作,判定在用戶設備上是否存在用於實現該操作的構件,當不存在所述構件時,所述構件選擇單元用於根據用戶設備的架構資訊來選擇用於實現該操作的構件,並且所述構件拼裝單元用於在用戶設備上將由構件選擇單元所選擇的構件拼裝至所述已安裝的應用程式。 An application assembling system for assembling an installation package of an application that can be installed on a user equipment, the system comprising: a user interface module selection unit, configured to select and match a screen of the user equipment according to screen information of the user equipment User interface module; installation package assembly unit for user interface selected by the user interface module selection unit The module is assembled with the operation logic module to form an installation package of the application, the operation logic module is independent of the screen of the user equipment; and the component selection unit and the component assembly unit, wherein, in response to the installed An operation of the application determines whether there is a component for implementing the operation on the user equipment, and when the component is not present, the component selection unit is configured to select a component for implementing the operation according to the architecture information of the user equipment. And the component assembly unit is configured to assemble the component selected by the component selection unit to the installed application on the user device. 如申請專利範圍第5項所述之應用程式拼裝系統,其中,所述用戶介面模組選擇單元和所述安裝包拼裝單元實現在應用程式伺服器中。 The application assembly system of claim 5, wherein the user interface module selection unit and the installation package assembly unit are implemented in an application server. 如申請專利範圍第5項所述之應用程式拼裝系統,其中,所述構件選擇單元實現在應用程式伺服器中,並且所述構件拼裝單元實現在用戶設備中或者實現在應用程式安裝伺服器中。 The application assembly system of claim 5, wherein the component selection unit is implemented in an application server, and the component assembly unit is implemented in a user device or implemented in an application installation server. . 如申請專利範圍第5項所述之應用程式拼裝系統,其中,用戶設備的螢幕資訊包括螢幕的畫素密度資訊和/或解析度資訊。 The application assembly system of claim 5, wherein the screen information of the user equipment includes pixel density information and/or resolution information of the screen.
TW104122087A 2014-12-12 2015-07-07 System and method for packaging applications TWI634481B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410771154.0A CN105740005A (en) 2014-12-12 2014-12-12 Assembling method and system for application program
??201410771154.0 2014-12-12

Publications (2)

Publication Number Publication Date
TW201636834A TW201636834A (en) 2016-10-16
TWI634481B true TWI634481B (en) 2018-09-01

Family

ID=56241611

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104122087A TWI634481B (en) 2014-12-12 2015-07-07 System and method for packaging applications

Country Status (2)

Country Link
CN (1) CN105740005A (en)
TW (1) TWI634481B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201115464A (en) * 2009-08-21 2011-05-01 Samsung Electronics Co Ltd Application downloading method, application providing method, user terminal using the same
CN103744595A (en) * 2013-12-30 2014-04-23 广州华多网络科技有限公司 Self-adaption display method and configuration file generating method and device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5921060B2 (en) * 2009-08-21 2016-05-24 三星電子株式会社Samsung Electronics Co.,Ltd. Application download service method, application providing service method, and user terminal to which the application download service method is applied
CN102129380B (en) * 2011-03-10 2015-05-13 宇龙计算机通信科技(深圳)有限公司 Server and method and mobile terminal for providing software
CN103186397A (en) * 2011-12-31 2013-07-03 国民技术股份有限公司 Data installing method and data installing system
CN104182260A (en) * 2014-08-27 2014-12-03 厦门美图之家科技有限公司 Method for providing installation packages of application programs
CN104166576B (en) * 2014-08-27 2017-11-03 厦门美图之家科技有限公司 A kind of system platform that application program installation kit is provided

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201115464A (en) * 2009-08-21 2011-05-01 Samsung Electronics Co Ltd Application downloading method, application providing method, user terminal using the same
CN103744595A (en) * 2013-12-30 2014-04-23 广州华多网络科技有限公司 Self-adaption display method and configuration file generating method and device

Also Published As

Publication number Publication date
CN105740005A (en) 2016-07-06
TW201636834A (en) 2016-10-16

Similar Documents

Publication Publication Date Title
US10162624B1 (en) Web shell for dynamically generated cross-platform applications
US8555280B2 (en) Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform
EP3128421B1 (en) Method, device, and system for achieving java application installation by cloud compilation
US8661407B2 (en) Framework for programming embedded system applications
US20200183710A1 (en) Deploying cross-platform applications on mobile devices with native and web components
CN106325847B (en) Method and device for acquiring application program function based on iOS platform
US10282185B2 (en) Method and apparatus for firmware virtualization
CN113312037A (en) Data processing method, device and equipment applied to microservice and storage medium
JP2005518015A (en) Middleware service layer for platform systems for mobile terminals
US10191751B2 (en) Information processing device for generating application programming interface information
CN110543327B (en) Service component multiplexing method, device, computer equipment and storage medium
CN104113430A (en) Cloud computing data center automatic deployment software framework design
KR102052776B1 (en) Installation engine and package format for parallelizable, reliable installations
CN106796521B (en) API version control independent of product release
KR20110130611A (en) Web platform unit for mobile terminal connectioned web-application program in heterogeneous operating system
KR20020009741A (en) Apparatus for etalishing operating platform of mobile phone and wireless up-grading method of application thereby
TWI634481B (en) System and method for packaging applications
CN111158777A (en) Component calling method and device and computer readable storage medium
JP2013097745A (en) Software development kit, extended application for image forming apparatus created by using the same, and portable terminal device including the application
TWI581185B (en) Method and system for installing application
CN113050962A (en) Mobile service upgrading method, device and terminal
Hu et al. An empirical study of mobile/handheld app development using android platforms
RU2786200C1 (en) System and method for installing a personalised application on a mobile device
KR101553539B1 (en) Dynamic link providing method and computer readable storage medium for program therefor
KR101771438B1 (en) Mobile communication terminal and Method for installing application thereof

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees