JP6518794B2 - プラグイン化パッケージング方法、装置及び端末 - Google Patents

プラグイン化パッケージング方法、装置及び端末 Download PDF

Info

Publication number
JP6518794B2
JP6518794B2 JP2017561419A JP2017561419A JP6518794B2 JP 6518794 B2 JP6518794 B2 JP 6518794B2 JP 2017561419 A JP2017561419 A JP 2017561419A JP 2017561419 A JP2017561419 A JP 2017561419A JP 6518794 B2 JP6518794 B2 JP 6518794B2
Authority
JP
Japan
Prior art keywords
plug
packaging
host project
common basic
compiling
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017561419A
Other languages
English (en)
Other versions
JP2019502176A (ja
Inventor
穎 李
穎 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Publication of JP2019502176A publication Critical patent/JP2019502176A/ja
Application granted granted Critical
Publication of JP6518794B2 publication Critical patent/JP6518794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明の実施形態はソフトウェア分野に属し、特にプラグイン化パッケージング方法、装置、端末及び記憶媒体に関する。
一つの大きなコードプロジェクトは、もし毎回再びコンパイルする、パッケージ化する、テストする必要があれば、複雑になり重複している。Antはプロセススクリプトエンジンとして、自動的にプログラムを起動してプロジェクトのコンパイル、パッケージ化、テスト等を完了することに用いられている。
現在、Androidシステムにおいて、AntはAndroidアプリケーションの主流パッケージ化ツールとして、マルチプラグインアプリケーションをよくサポートすることができない。通常手作業で各プラグインをコンパイルするとともに、マルチプラグインのメインプロジェクトをビルドする必要があるため、Antは全体のパッケージ化スピードが遅すぎ、効率が悪いという問題をもたらしてしまう。
本発明の実施形態は、プラグイン化パッケージング方法、装置、端末及び記憶媒体を提供し、従来のAndroidシステムにおいて、Ant方式でパッケージ化する際にパッケージ化スピードが遅すぎるという問題を解決することを目的とする。
本発明の実施形態の第一の観点は、プラグイン化パッケージング方法を提供する。
前記方法は、
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することと、
を含む。
本発明の実施形態の第二の観点は、プラグイン化パッケージング装置を提供する。
前記装置は、
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するための実行可能ファイル取得ユニットと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するためのホストプロジェクト基本ライブラリ取得ユニットと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするためのプラグインコンパイルユニットと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するためのコンパイル後プラグイン記憶ユニットと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するためのapkパッケージ生成ユニットと、
を含む。
本発明の実施形態の第三の観点は、端末を提供する。
前記端末は、プロセッサと、メモリとを含む。
前記メモリは、プロセッサに実行され得る少なくとも一つのプログラムを含むプラグイン化パッケージングシステムを記憶するためのものであり、
前記プロセッサは、
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するステップと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するステップと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするステップと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するステップと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するステップと、
を実行するために、前記プラグイン化パッケージングシステムのプログラムを実行することに用いられている。
本発明の第四の観点は、コンピュータ読取可能な非一時的記憶媒体を提供する。
前記コンピュータ読取可能な非一時的記憶媒体は、作業を実行するように一つ又は複数のプロセッサに実行され得る命令を記憶する。
前記作業は、
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することと、
を含む。
本実施形態によれば、マルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするため、各プラグインのコンパイルスピードを上げ、さらにapk全体のパッケージ化スピードを向上させることができる。
本発明の実施形態1に係るプラグイン化パッケージング方法のフロー図である。 本発明の実施形態2に係るプラグイン化パッケージング装置の構造図である。 本発明の実施形態3に係る端末の構造図である。
本発明の目的、技術的解決手段及び利点をより明らかにするために、以下、図面及び実施形態を結合させて本発明をより詳細に説明する。ここで説明される具体的な実施形態は本発明を解釈するためのものに過ぎず、本発明を限定するためのものではないことを理解すべきである。
本発明の実施形態は、ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得し、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得し、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルし、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶し、apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化する。
本発明についての上述の技術的解決手段を説明するために、以下具体的な実施形態により説明を行う。
(実施形態1)
図1は本発明の実施形態1によるプラグイン化パッケージング方法のフロー図を示す。以下の通り詳述する。
ステップS11は、ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することである。
そのうち、ここで実行可能ファイルは、複数のdexタイプのような実行可能ファイルであってもよい。一つ又は複数のdexタイプのファイルはdexパッケージを形成することができる。
具体的に、コンパイルを必要とするソースコードに対応したホストプロジェクト(例えばホストプロジェクトの一意の識別子及び/又はバージョン番号等により確定する)を確定し、またホストプロジェクトのソースコード(該ソースコードはjavaコードであってもよい)をコンパイルし、ホストプロジェクトのソースコードをコンパイルした後に対応した実行可能ファイルを取得する。
該ステップS11と後続のステップS12−S14は固定した前後順序を持たず、つまりステップS11は必ずステップS12−S14の前に実行されるわけではないという点を説明する必要がある。
ステップS12は、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することである。
該ホストプロジェクト基本ライブラリはコンパイル後の少なくとも一つの共通基本メソッドを含む。該共通基本メソッドは、プラグインをコンパイルする際に必要な共通基本メソッドだけではなく、またホストプロジェクトをコンパイルする際に必要な共通基本メソッドを含む。
そのうち、前述のステップS12は、具体的に、以下のことを含む。
A1、環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得する。そのうち、環境情報は、テスト環境、グレースケール環境、生産環境等を含む。環境によってサーバが異なり、通常、異なるサーバには異なるデータが記憶されるため、異なるサーバにより異なるデータを取得することができる。そのうち、バージョン情報は、ホストプロジェクトのバージョン番号等の情報を指す。
A2、前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得する。後にプラグインをコンパイルする際に、ホストプロジェクト基本ライブラリの共通基本メソッドに基づく必要があるため、後にプラグインを正確で、迅速にコンパイルするために、少なくとも一つの共通基本メソッドを取得する必要がある。
A3、前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得する。
オプションとして、ある環境により取得された共通基本メソッドが後に全部のプラグインをコンパイルする際に必要な一種又は多種のメソッドを含まない可能性があるため、後に全部のプラグインを正確にコンパイルするために、前述のステップA2の後に、取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合、変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すことを含む。そのうち、指定された共通基本メソッドは後に全部のプラグインをコンパイルする際に必要なメソッドである。指定された共通基本メソッドの数は、後にコンパイルを必要とするプラグイン(つまりパッケージ化を必要とするプラグイン)の数に関連し、一つでもよく、また複数でもよい。具体的に、環境情報及びバージョン情報によって対応するサーバが違う。通常異なるサーバには異なるデータが記憶されるため、一つの環境情報及びバージョン情報により取得された共通基本メソッドが指定された共通基本メソッドを含まない場合、別の環境情報及びバージョン情報を変更する必要がある。また、変更後の環境情報及びバージョン情報に対応したサーバ中に再び取得された共通基本メソッドが、指定された共通基本メソッドを含むか否かを判定する。
ステップS13は、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることである。
該ステップにおいて、ホストプロジェクト基本ライブラリ中の共通基本メソッドに基づいて、パッケージ化を必要とするプラグインのそれぞれをコンパイルする。パッケージ化を必要とするプラグインの数が複数である場合、少なくとも二つのスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルする。コンパイルのためのスレッドの数がパッケージ化を必要とするプラグインの数より少ない又は等しいという点を説明する必要がある。コンパイルのためのスレッドの数がパッケージ化を必要とするプラグインの数と等しい場合、一つのスレッドはパッケージ化を必要とする一つのプラグインをコンパイルする。コンパイルのためのスレッドの数がパッケージ化を必要とするプラグインの数より少ない場合、予めパッケージ化を必要とするプラグインに優先度を設置する。また、優先順位により、優先度が高いパッケージ化を必要とするプラグインをコンパイルする。
そのうち、前述のステップS13は、具体的に以下のことを含む。
B1、パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定する。具体的に、予めプラグイン情報テーブルを配置する。該プラグイン情報テーブルはプラグインの一意の識別子を含む。プラグイン情報(例えばプラグインのバージョン番号又は説明情報)が更新される場合、該プラグイン情報テーブルも同時に更新される。パッケージ化を必要とするプラグインを確定した後、パッケージ化を必要とするプラグインの一意の識別子をプラグイン情報テーブルにおけるプラグインの一意の識別子と比較し、同じ一意の識別子をマッチングした後、該同じ一意の識別子に対応したプラグイン情報が更新されたか否かを判定する。更新されない場合、該同じ一意の識別子に対応したプラグインが最新バージョンのプラグインであると判定することができる。そうでない場合、該同じ一意の識別子に対応したプラグインが最新バージョンのプラグインではないと判定することができる。
B2、パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合、前記ホストプロジェクト基本ライブラリに基づいて、マルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルする。
パッケージ化を必要とするプラグインに最新バージョンでないプラグインがある場合、最新バージョンのプラグインを選択するようにユーザに注意し、またマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするという点を説明する必要がある。
S14は、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することである。
そのうち、ここでホストプロジェクトがメインプロジェクト、メインアプリケーションであると理解されてもよい。ホストプロジェクトリソースには、さらに画像、文字列等のリソースを含んでいる可能性がある。
具体的に、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトの指定されたディレクトリの下に記憶する。
オプションとして、ユーザが便利にチェックするために、パッケージ化を必要とするコンパイル後のプラグインを圧縮した後にホストプロジェクトの指定されたディレクトリの下に記憶してもよい。
ステップS15は、apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することである。
そのうち、apkパッケージはAndroidインスタレーションパッケージである。
ここでホストプロジェクトリソースは、パッケージ化を必要とするコンパイル後のプラグインだけではなく、またホストプロジェクトのほかのリソース、例えばホストプロジェクトの画像、文字列等のリソースを含むという点を説明する必要がある。
オプションとして、apkパッケージの安全性を向上させるために、前述のステップS15の後に、前記apkパッケージに対して署名を行って署名後のapkパッケージを取得することを含む。
具体的に、apkパッケージに対して署名を行う前に、apkパッケージの内容に対して混同操作を行い、また混同操作後のapkパッケージに対して署名を行い、apkパッケージの安全性をさらに向上させる。
本発明の実施形態1は、ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得し、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得し、前記ホストプロジェクト基本ライブラリに基づいて、マルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルし、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶し、apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化する。マルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするため、各プラグインのコンパイルスピードを上げ、さらにapk全体のパッケージ化スピードを向上させることができる。
本発明の実施形態において、上述した各過程の番号の大小が実行順を意味せず、各過程の実行順はその機能及び内部ロジックによって決められるべきであり、本発明の実施形態の実施過程を制限することを意図していないことを理解すべきである。
(実施形態2)
図2は本発明の実施形態2に係るプラグイン化パッケージング装置の構造図を示す。該プラグイン化パッケージング装置は、様々な移動端末に応用されることができる。該移動端末は無線アクセスネットワークRANにより一つ又は複数のコアネットワークと通信を行うユーザデバイスを含んでも良い。該ユーザデバイスは携帯電話(「セルラー電話」と呼ばれる)、移動デバイスを有するコンピュータだけではなく、また携帯式、コンパクト式、手持ち式、コンピュータ内蔵式又は車載式の移動装置であってもよい。それらは無線アクセスネットワークと音声及び/又はデータを交換する。また、該移動デバイスは、例えば、スマートフォン、タブレット、家庭学習装置、パーソナルディジタルアシスタントPDA、販売端末POS又は車載コンピュータ等を含んでもよい。便利に説明するために、本発明実施形態に関連する部分のみを示す。
該プラグイン化パッケージング装置2は、実行可能ファイル取得ユニット21と、ホストプロジェクト基本ライブラリ取得ユニット22と、プラグインコンパイルユニット23と、コンパイル後プラグイン記憶ユニット24と、apkパッケージ生成ユニット25とを含む。
そのうち、実行可能ファイル取得ユニット21は、ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することに用いられている。
ここで実行可能ファイルは、複数のdexタイプのような実行可能ファイルであってもよい。一つ又は複数のdexタイプのファイルはdexパッケージを形成することができる。
ホストプロジェクト基本ライブラリ取得ユニット22は、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することに用いられている。
該ホストプロジェクト基本ライブラリは、コンパイル後の少なくとも一つの共通基本メソッドを含む。該共通基本メソッドはプラグインをコンパイルする際に必要な共通基本メソッドだけではなく、またホストプロジェクトをコンパイルする際に必要な共通基本メソッドを含む。
前記ホストプロジェクト基本ライブラリ取得ユニット22は、環境情報取得モジュールと、共通基本メソッド取得モジュールと、ホストプロジェクト基本ライブラリ生成モジュールとを含む。
環境情報取得モジュールは、環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得することに用いられている。そのうち、環境情報は、テスト環境、階調環境、生産環境等を含む。環境によってサーバが違う。通常異なったサーバに記憶されたデータが異なったため、異なったサーバにより異なったデータを取得することができる。そのうち、バージョン情報は、ホストプロジェクトのバージョン番号等の情報を指す。
共通基本メソッド取得モジュールは、前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得することに用いられている。
ホストプロジェクト基本ライブラリ生成モジュールは、前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得することに用いられている。
オプションとして、ある環境により取得された共通基本メソッドが後に全部のプラグインをコンパイルする際に必要な一種又は多種方法を含まない可能性があるため、後に全部のプラグインを正確にコンパイルするために、前記プラグイン化パッケージング装置は、共通基本メソッドマッチングユニットを含む。
共通基本メソッドマッチングユニットは、取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合に変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すことに用いられている。
そのうち、指定された共通基本メソッドは後に全部のプラグインをコンパイルする際に必要な方法である。指定された共通基本メソッドの数は後にコンパイルを必要とするプラグイン(つまりパッケージ化を必要とするプラグイン)の数に関連し、一つでもよく、また複数でもよい。具体的に、環境情報及びバージョン情報によって対応したサーバが違う。通常異なったサーバに記憶されたデータが異なったため、一つの環境情報及びバージョン情報により取得された共通基本メソッドが指定された共通基本メソッドを含まない場合、別の環境情報及びバージョン情報を変更する必要がある。また、変更後の環境情報及びバージョン情報に対応したサーバ中に再び取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定する。
プラグインコンパイルユニット23は、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることに用いられている。
コンパイルためのスレッドの数がパッケージ化を必要とするプラグインの数より少ない又は等しいという点を説明する必要がある。コンパイルためのスレッドの数がパッケージ化を必要とするプラグインの数と等しい場合、一つのスレッドはパッケージ化を必要とする一つのプラグインをコンパイルする。コンパイルためのスレッドの数がパッケージ化を必要とするプラグインの数より少ない場合、予めパッケージ化を必要とするプラグインに優先度を設置する。また優先順位により、優先度が高いパッケージ化を必要とするプラグインをコンパイルする。
オプションとして、前記プラグインコンパイルユニット23は、具体的に、プラグインバージョン判定モジュールと、最新プラグインコンパイルモジュールとを含む。
プラグインバージョン判定モジュールは、パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定することに用いられている。具体的に、予めプラグイン情報テーブルを配置する。該プラグイン情報テーブルはプラグインの一意の識別子を含む。プラグイン情報(例えばプラグインのバージョン番号又は説明情報)が更新される場合、該プラグイン情報テーブルも同期に更新される。パッケージ化を必要とするプラグインを確定した後、パッケージ化を必要とするプラグインの一意の識別子をプラグイン情報テーブルにおけるプラグインの一意の識別子と比較し、同じ一意の識別子をマッチングした後、該同じ一意の識別子に対応したプラグイン情報が更新されたか否かを判定する。更新されない場合、該同じ一意の識別子に対応したプラグインが最新バージョンのプラグインであると判定することができる。そうでない場合、該同じ一意の識別子に対応したプラグインが最新バージョンのプラグインではないと判定することができる。
最新プラグインコンパイルユニットは、パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合に、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることに用いられている。
パッケージ化を必要とするプラグインに最新バージョンでないプラグインがある場合、最新バージョンのプラグインを選択するようにユーザに注意し、またマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするという点を説明する必要がある。
コンパイル後プラグイン記憶ユニット24は、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することに用いられている。
そのうち、ここでホストプロジェクトがメインプロジェクト、メインアプリケーションであると理解されてもよい。ホストプロジェクトリソースには、さらに画像、文字列等のリソースを含んでいる可能性がある。
具体的に、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトの指定されたディレクトリの下に記憶する。
オプションとして、ユーザが便利にチェックするために、パッケージ化を必要とするコンパイル後のプラグインを圧縮した後にホストプロジェクトの指定されたディレクトリの下に記憶してもよい。
apkパッケージ生成ユニット25は、apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することに用いられている。
オプションとして、前記プラグイン化パッケージング装置は、前記apkパッケージに対して署名を行って、署名後のapkパッケージを取得することに用いられているapkパッケージ前面ユニットを含む。
具体的に、apkパッケージに署名を行う前に、apkパッケージの内容に対して混同操作を行い、また混同操作後のapkパッケージに対して署名を行い、apkパッケージの安全性をさらに向上させる。
本発明の実施形態2において、マルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするため、各プラグインのコンパイルスピードを上げ、さらにapk全体のパッケージ化スピードを向上させることができる。
掲示された装置は別の方式でも実現することができる。例えば、以上説明した装置の実施形態は例示的なものに過ぎない。例えば、前述したユニットの分割は、論理的な機能分割に過ぎない。実際の使用の際には、他の分割方式であってもよい。例えば、複数のユニット又はモジュールは別のシステムに結合又は集積してもよい。または、いくつかの特徴は無視、又は実行しなくてもよい。そのほか、表示又は検討された相互の結合又は直接的結合又は通信接続はいくつかのインターフェースを通過してもよい。装置やユニット間の間接的結合又は通信接続は、電気的で、機械的で又は他の形式でもよい。
(実施形態3)
図3は本発明の実施形態3に係る端末の構造図を示す。該端末は無線アクセスネットワークRANにより一つ又は複数のコアネットワークと通信を行うユーザデバイスを含んでも良い。該ユーザデバイスは携帯電話(「セルラー電話」と呼ばれる)、移動デバイスを有するコンピュータだけではなく、また携帯式、コンパクト式、手持ち式、コンピュータ内蔵式又は車載式の移動装置であってもよい。それらは無線アクセスネットワークと音声及び/又はデータを交換する。また、該移動デバイスは、例えば、スマートフォン、タブレット、家庭学習装置、パーソナルディジタルアシスタントPDA、販売端末POS又は車載コンピュータ等を含んでもよい。便利に説明するために、本発明の実施形態に関連する部分のみを示す。該端末が携帯電話である場合、該携帯電話は無線周波数(Radio Frequency,RF)回路と、メモリと、入力ユニットと、表示ユニットと、センサと、音声周波回路と、無線モジュールと、プロセッサと、電源等の部品を含むという点を説明する必要がある。
該端末3は、一つ又は複数のプロセッサ31(図に一つのみを示す)と、一つ又は複数の入力装置(図に一つのみを示す)32と、メモリ33とを含む。そのうち、前記メモリ33は、プロセッサに実行された少なくとも一つのプログラムを含むプラグイン化パッケージングシステムを記憶することに用いられている。
前記プロセッサ31は、ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するステップと、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するステップと、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするステップと、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するステップと、apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するステップと、を実行するために、前記プラグイン化パッケージングシステムのプログラムを実行することに用いられている。
オプションとして、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するステップは、環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得することと、前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得することと、前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得することと、を含む。
オプションとして、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルする前記ステップは、パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定することと、パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合に、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、を含む。
オプションとして、前述した前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得した後、前記プロセッサは、取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合に変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すステップを実行するために、さらに前記業務データ処理システムのプログラムを実行することに用いられている。
オプションとして、前述したapkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化した後、前記プロセッサは、前記apkパッケージに対して署名を行って署名後のapkパッケージを取得するステップを実行するために、さらに前記業務データ処理システムのプログラムを実行することに用いられている。
本発明の実施形態3において、マルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするため、各プラグインのコンパイルスピードを上げ、さらにapk全体のパッケージ化スピードを向上させることができる。
本発明の実施形態において、プロセッサ31は、中央処理ユニット(Central Processing Unit,CPU)であってもよい。また、該プロセッサは他の一般的なプロセッサ、デジタル信号プロセッサ(Digital Signal Processor,DSP)、専用集積回路(Application Specific Integrated Circuit,ASIC)、フィールドブログラマブルゲートアレイ(Field−Programmable Gate Array,FPGA)又は他のブログラマブル論理デバイス、ディスクリートゲート又はトランジスタ論理デバイス、ディスクリートハードウェアコンポーネント等であってもよい。一般的なプロセッサはマイクロプロセッサのようなプロセッサだけではなく、また任意の従来のプロセッサであってもよい。
入力装置32は、タッチパネル、指紋採集センサ(ユーザの指紋情報及び指紋の方向情報を採集するためのもの)、マイク、データ受信インターフェース等を含んでもよい。出力装置は、ディスプレイ(LCD等)、スピーカ、データ送信インターフェース等を含んでもよい。
該メモリ33は、読込専用メモリと、ランダムアクセスメモリとを含んでもよく、プロセッサ31に命令及びデータを提供し、また、一部が不揮発性ランダムアクセスメモリを含んでもよい。また、例えば、メモリ33は、装置タイプ情報を記憶することができる。
オプションとして、該端末3は、ユーザが入力した情報及びユーザに提供した情報等を表示することに用いられるディスプレイをさらに含む。ディスプレイは、表示パネルを含んでも良く、オプションとして、液晶ディスプレイ(Liquid Crystal Display,LCD)、有機発光ダイオード(Organic Light−Emitting Diode,OLED)等の形式で表示パネルを配置してもよい。さらに、前記ディスプレイはさらにタッチパネルを含んでも良い。前記タッチパネルは表示パネルを覆い、その上又は附近のタッチ操作を検出した後、タッチイベントのタイプを確定するようにプロセッサ31に伝送する。その後、プロセッサ31はタッチイベントのタイプに基づいて表示パネルに対応した視覚的な出力を提供する。
具体的な実現において、本発明の実施形態に説明されたプロセッサ31、入力装置32、出力装置、メモリ33及びディスプレイは本発明の実施形態に係るプラグイン化パッケージング方法の実施形態に説明された実現方式だけではなく、また実施形態2の前記端末に説明された実現方式を実行することができるという点を再び説明する必要がない。
本発明の実施形態によれば、作業を実行するように一つ又は複数のプロセッサに実行され得る命令を記憶することを特徴とするコンピュータ読取可能な非一時的記憶媒体を提供する。
前記作業は、ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することと、コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することと、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することと、apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することと、を含む。
本分野の当業者は、本発明に公開された実施形態に説明された各例示のユニット及びアルゴリズムステップを結合し、電子ハードウェア、又はコンピュータソフトウェアと電子ハードウェアとの結合により実現することができるという点を理解すべきである。これらの機能をハードウェア方式で実行するかソフトウェア方式で実行するかは、技術的解決手段の特定のアプリケーション及び設計の制約条件によって決められている。当業者が特定のアプリケーションごとに異なる方法で説明された機能を実現することができるが、このような実現は本発明の範囲を超えるものと見なすべきではない。
前記機能がソフトウェア機能ユニットの形式で実現されてかつ独立した製品として販売又は使用される場合、コンピュータ読取可能な記憶媒体中に記憶されてもよい。このような理解に基づき、本発明の技術的解決手段は、本質的に、つまり従来技術に貢献した部分又はその一部がソフトウェア製品の形式で表されて良い。該コンピュータソフトウェア製品は記憶媒体中に記憶され、コンピュータ装置(パーソナルコンピュータ、サーバ、又はインターネット装置等であってもよい)が本発明の各実施形態に説明された方法の全体のステップ又は一部のステップを実行するためのいくつかのプログラムを含む。前述した記憶媒体は、USBディスク、ハードディスク、読込専用メモリ(ROM,Read−Only Memory)、ランダムアクセスメモリ(RAM,Random Access Memory)、磁気ディスク又は光ディスク等のプログラムコードを記憶できる様々な媒体を含む。
以上は本発明の具体的な実施形態に過ぎないが、本発明の保護範囲はこれに限定されない。本発明が掲示した技術的範囲内に、本技術分野に詳しい当業者が簡単に想到し得る変化又は取替は、いずれも本発明の保護範囲に含まれるはずである。従って、本発明の保護範囲は特許請求の範囲を基準とするはずである。
(付記)
(付記1)
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することと、を含む、
ことを特徴とするプラグイン化パッケージング方法。
(付記2)
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを前記取得することは、
環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得することと、
前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得することと、
前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得することと、を含む、
ことを特徴とする付記1に記載のプラグイン化パッケージング方法。
(付記3)
前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得した後に、
取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合、変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すことを含む、
ことを特徴とする付記2に記載のプラグイン化パッケージング方法。
(付記4)
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化した後に、
前記apkパッケージに対して署名を行って署名後のapkパッケージを取得することを含む、
ことを特徴とする付記1から3のいずれか1つに記載のプラグイン化パッケージング方法。
(付記5)
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを前記コンパイルすることは、
パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定することと、
パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、を含む、
ことを特徴とする付記1から3のいずれか1つに記載のプラグイン化パッケージング方法。
(付記6)
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するための実行可能ファイル取得ユニットと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するためのホストプロジェクト基本ライブラリ取得ユニットと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするためのプラグインコンパイルユニットと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するためのコンパイル後プラグイン記憶ユニットと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するためのapkパッケージ生成ユニットと、を含む、
ことを特徴とするプラグイン化パッケージング装置。
(付記7)
前記ホストプロジェクト基本ライブラリ取得ユニットは、
環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得するための環境情報取得モジュールと、
前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得するための共通基本メソッド取得モジュールと、
前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得するためのホストプロジェクト基本ライブラリ生成モジュールと、を含む、
ことを特徴とする付記6に記載のプラグイン化パッケージング装置。
(付記8)
取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合に変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すための共通基本メソッドマッチングユニットを含む、
ことを特徴とする付記7に記載のプラグイン化パッケージング装置。
(付記9)
前記apkパッケージに対して署名を行って署名後のapkパッケージを取得するためのapkパッケージ前面ユニットを含む、
ことを特徴とする付記6から8のいずれか1つに記載のプラグイン化パッケージング装置。
(付記10)
前記プラグインコンパイルユニットは、
パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定するためのプラグインバージョン判定モジュールと、
パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合に、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするための最新プラグインコンパイルモジュールと、を含む、
ことを特徴とする付記6から8のいずれか1つに記載のプラグイン化パッケージング装置。
(付記11)
プロセッサと、メモリとを含み、
前記メモリは、プロセッサによって実行され得る少なくとも一つのプログラムを含むプラグイン化パッケージングシステムを記憶するためのものであり、
前記プロセッサは、
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するステップと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するステップと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルするステップと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するステップと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するステップと、を実行するために、前記プラグイン化パッケージングシステムのプログラムを実行することに用いられている、
ことを特徴とする端末。
(付記12)
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得する前記ステップは、具体的に、
環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得することと、
前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得することと、
前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得することと、を含む、
ことを特徴とする付記11に記載の端末。
(付記13)
前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得した後、前記プロセッサは、
取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合に変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すステップを実行するために、さらに業務データ処理システムのプログラムを実行することに用いられている、
ことを特徴とする付記12に記載の端末。
(付記14)
前述したapkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化した後、前記プロセッサは、
前記apkパッケージに対して署名を行って署名後のapkパッケージを取得するステップを実行するために、さらに業務データ処理システムのプログラムを実行することに用いられている、
ことを特徴とする付記11から13のいずれか1つに記載の端末。
(付記15)
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルする前記ステップは、
パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定することと、
パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合に、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、を含む、
ことを特徴とする付記11から13のいずれか1つに記載の端末。
(付記16)
作業を実行するように一つ又は複数のプロセッサに実行され得る命令を記憶するコンピュータ読取可能な非一時的記憶媒体であって、
前記作業は、
ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することと、
コンパイル後の少なくとも一つの共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することと、
前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれをコンパイルすることと、
パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することと、
apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することと、を含む、
ことを特徴とするコンピュータ読取可能な記憶媒体。

Claims (15)

  1. ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得することと、
    プラグインをコンパイルするための共通基本メソッドを含むホストプロジェクト基本ライブラリを取得することと、
    前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルすることと、
    パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶することと、
    apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化することと、を含む、
    ことを特徴とするプラグイン化パッケージング方法。
  2. プラグインをコンパイルするための共通基本メソッドを含むホストプロジェクト基本ライブラリを前記取得することは、
    環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得することと、
    前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得することと、
    前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得することと、を含む、
    ことを特徴とする請求項1に記載のプラグイン化パッケージング方法。
  3. 前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得した後に、
    取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合、変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すことを含む、
    ことを特徴とする請求項2に記載のプラグイン化パッケージング方法。
  4. apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化した後に、
    前記apkパッケージに対して署名を行って署名後のapkパッケージを取得することを含む、
    ことを特徴とする請求項1から3のいずれか1項に記載のプラグイン化パッケージング方法。
  5. 前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいて前記コンパイルすることは、
    パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定することと、
    パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルすることと、を含む、
    ことを特徴とする請求項1から3のいずれか1項に記載のプラグイン化パッケージング方法。
  6. ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するための実行可能ファイル取得ユニットと、
    プラグインをコンパイルするための共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するためのホストプロジェクト基本ライブラリ取得ユニットと、
    前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルするためのプラグインコンパイルユニットと、
    パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するためのコンパイル後プラグイン記憶ユニットと、
    apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するためのapkパッケージ生成ユニットと、を含む、
    ことを特徴とするプラグイン化パッケージング装置。
  7. 前記ホストプロジェクト基本ライブラリ取得ユニットは、
    環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得するための環境情報取得モジュールと、
    前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得するための共通基本メソッド取得モジュールと、
    前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得するためのホストプロジェクト基本ライブラリ生成モジュールと、を含む、
    ことを特徴とする請求項6に記載のプラグイン化パッケージング装置。
  8. 取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合に変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すための共通基本メソッドマッチングユニットを含む、
    ことを特徴とする請求項7に記載のプラグイン化パッケージング装置。
  9. 前記apkパッケージに対して署名を行って署名後のapkパッケージを取得するためのapkパッケージ前面ユニットを含む、
    ことを特徴とする請求項6から8のいずれか1項に記載のプラグイン化パッケージング装置。
  10. 前記プラグインコンパイルユニットは、
    パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定するためのプラグインバージョン判定モジュールと、
    パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合に、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルするための最新プラグインコンパイルモジュールと、を含む、
    ことを特徴とする請求項6から8のいずれか1項に記載のプラグイン化パッケージング装置。
  11. プロセッサと、メモリとを含み、
    前記メモリは、プロセッサによって実行され得る少なくとも一つのプログラムを含むプラグイン化パッケージングシステムを記憶するためのものであり、
    前記プロセッサは、
    ホストプロジェクトのソースコードをコンパイルすることにより得た実行可能ファイルを取得するステップと、
    プラグインをコンパイルするための共通基本メソッドを含むホストプロジェクト基本ライブラリを取得するステップと、
    前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルするステップと、
    パッケージ化を必要とするコンパイル後のプラグインをホストプロジェクトリソースに記憶するステップと、
    apkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化するステップと、を実行するために、前記プラグイン化パッケージングシステムのプログラムを実行することに用いられている、
    ことを特徴とする端末。
  12. プラグインをコンパイルするための共通基本メソッドを含むホストプロジェクト基本ライブラリを取得する前記ステップは、具体的に、
    環境情報、ホストプロジェクトのバージョン番号を含むバージョン情報及びコンパイルツールを取得することと、
    前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得することと、
    前記コンパイルツールにより前記共通基本メソッドをコンパイルしてホストプロジェクト基本ライブラリを取得することと、を含む、
    ことを特徴とする請求項11に記載の端末。
  13. 前記環境情報及びバージョン情報に基づいて少なくとも一つの共通基本メソッドを取得した後、前記プロセッサは、
    取得された共通基本メソッドが指定された共通基本メソッドを含むか否かを判定して、含まない場合に変更後の環境情報及びバージョン情報により指定された共通基本メソッドを取得するために環境情報及びバージョン情報を変更するように指示を出すステップを実行するために、さらに前記プラグイン化パッケージングシステムのプログラムを実行することに用いられている、
    ことを特徴とする請求項12に記載の端末。
  14. 前述したapkパッケージを形成するように前記実行可能ファイル及びホストプロジェクトリソースを共にパッケージ化した後、前記プロセッサは、
    前記apkパッケージに対して署名を行って署名後のapkパッケージを取得するステップを実行するために、さらに前記プラグイン化パッケージングシステムのプログラムを実行することに用いられている、
    ことを特徴とする請求項11から13のいずれか1項に記載の端末。
  15. 前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルする前記ステップは、
    パッケージ化を必要とするプラグインが最新バージョンのプラグインであるか否かを判定することと、
    パッケージ化を必要とするプラグインが最新バージョンのプラグインである場合に、前記ホストプロジェクト基本ライブラリに基づいてマルチスレッドを採用してパッケージ化を必要とするプラグインのそれぞれを、前記共通基本メソッドに基づいてコンパイルすることと、を含む、
    ことを特徴とする請求項11から13のいずれか1項に記載の端末。
JP2017561419A 2016-11-14 2017-02-22 プラグイン化パッケージング方法、装置及び端末 Active JP6518794B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201611005684.XA CN106569869B (zh) 2016-11-14 2016-11-14 插件化打包方法及装置
CN201611005684.X 2016-11-14
PCT/CN2017/074373 WO2018086268A1 (zh) 2016-11-14 2017-02-22 插件化打包方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
JP2019502176A JP2019502176A (ja) 2019-01-24
JP6518794B2 true JP6518794B2 (ja) 2019-05-22

Family

ID=58542323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017561419A Active JP6518794B2 (ja) 2016-11-14 2017-02-22 プラグイン化パッケージング方法、装置及び端末

Country Status (9)

Country Link
US (1) US10387169B2 (ja)
EP (1) EP3540594A4 (ja)
JP (1) JP6518794B2 (ja)
KR (1) KR102096195B1 (ja)
CN (1) CN106569869B (ja)
AU (1) AU2017258904B2 (ja)
SG (1) SG11201709274UA (ja)
TW (1) TWI679578B (ja)
WO (1) WO2018086268A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463406A (zh) * 2017-08-08 2017-12-12 上海连尚网络科技有限公司 发布移动应用的方法和电子设备
CN107870789B (zh) * 2017-10-18 2021-01-26 福建天泉教育科技有限公司 一种打包插件的方法及终端
CN109918075A (zh) * 2017-12-12 2019-06-21 北京奇虎科技有限公司 利用打包插件的sdk打包方法、打包插件及相应终端
CN109656616A (zh) * 2018-11-26 2019-04-19 平安科技(深圳)有限公司 一种基于事务处理过程优化的打包方法、系统及电子设备
CN111124420B (zh) * 2019-12-19 2023-06-20 北京百度网讯科技有限公司 编译方法、装置、电子设备及可读存储介质
CN111142903B (zh) * 2019-12-23 2023-09-22 杭州安恒信息技术股份有限公司 一种基于文件对比的配置文件交互式更新方法及装置
CN111062638B (zh) * 2019-12-26 2023-09-12 珠海金山数字网络科技有限公司 一种项目资源的处理方法及装置
CN111273955B (zh) * 2020-01-16 2024-01-19 惠州Tcl移动通信有限公司 热修复插件优化方法、装置、存储介质及电子设备
CN111290760B (zh) * 2020-03-03 2023-03-31 北京字节跳动网络技术有限公司 应用程序编译方法、装置、电子设备及存储介质
CN111580834B (zh) * 2020-04-10 2021-10-29 北京城市网邻信息技术有限公司 一种应用安装包的生成方法和装置
CN111610984B (zh) * 2020-05-09 2023-10-27 上海万间信息技术有限公司 基于插件的安卓应用打包分发方法、系统及应用终端
CN112416353A (zh) * 2020-08-10 2021-02-26 上海幻电信息科技有限公司 渠道包打包方法、装置及计算机设备
CN112148303B (zh) * 2020-09-28 2024-05-28 Oppo(重庆)智能科技有限公司 文件生成方法、装置、终端及存储介质
CN112463155A (zh) * 2020-11-24 2021-03-09 歌尔科技有限公司 应用程序包的打包方法、打包终端和计算机可读存储介质
CN112437092A (zh) * 2020-12-03 2021-03-02 许昌学院 分布式系统共享session无侵入方法
CN112631650A (zh) * 2020-12-28 2021-04-09 掌阅科技股份有限公司 插件版本信息校验方法、计算设备及存储介质
CN112732314A (zh) * 2020-12-30 2021-04-30 北京一亩田新农网络科技有限公司 基于android插件化差分打包方法、装置、电子设备及计算机可读介质
CN112685048A (zh) * 2021-01-05 2021-04-20 南方电网深圳数字电网研究院有限公司 应用程序打包方法、电子设备及存储介质
CN112783515B (zh) * 2021-02-08 2023-08-25 腾讯科技(深圳)有限公司 插件的控制方法和装置、存储介质
CN113608723A (zh) * 2021-08-05 2021-11-05 上海中通吉网络技术有限公司 自动化构建及发布的小程序工程化方法
CN116149760B (zh) * 2023-04-21 2023-07-14 广州三晶电气股份有限公司 基于Vue框架的前端项目打包方法及装置
CN116974586A (zh) * 2023-09-22 2023-10-31 深圳传趣网络技术有限公司 多渠道应用打包方法、装置、设备及存储介质
CN117435244B (zh) * 2023-12-21 2024-03-19 南京掌控网络科技有限公司 一种前端跨工程公共库系统及其构建方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3991724B2 (ja) * 2002-03-12 2007-10-17 ヤマハ株式会社 データ処理装置およびコンピュータプログラム
US20050071438A1 (en) * 2003-09-30 2005-03-31 Shih-Wei Liao Methods and apparatuses for compiler-creating helper threads for multi-threading
US20070083527A1 (en) * 2005-10-07 2007-04-12 David Wadler Systems and methods for uploading and downloading files in a distributed network
JP5267337B2 (ja) * 2009-06-01 2013-08-21 株式会社リコー プログラム、記憶媒体、情報処理装置、プリンタ装置およびシステム
CN101667135B (zh) * 2009-09-30 2013-07-31 浙江大学 一种交互式并行化编译系统及其编译方法
CN101909082B (zh) * 2010-07-29 2013-03-13 中国运载火箭技术研究院 一种基于模型驱动的网格门户配置系统及配置方法
CN102053836B (zh) * 2010-12-31 2013-04-10 广东欧珀电子工业有限公司 一种Android应用开发的版本管理工具的实现方法
CN102232304B (zh) * 2011-05-04 2014-01-08 华为终端有限公司 一种移动通信终端间进行系统升级的方法、系统及终端
TW201342232A (zh) * 2012-04-02 2013-10-16 Miiroad Inc 應用程式包自動產生模組與方法
RU2523113C1 (ru) 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ целевой установки сконфигурированного программного обеспечения
CN104049986B (zh) * 2013-03-14 2018-12-18 腾讯科技(深圳)有限公司 插件加载方法及装置
KR101489199B1 (ko) * 2013-03-29 2015-02-03 주식회사 엘지씨엔에스 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
CN104375849B (zh) * 2013-08-15 2019-01-11 腾讯科技(深圳)有限公司 加载内核的方法及装置
CN104461466B (zh) * 2013-09-25 2018-09-21 广州中国科学院软件应用技术研究所 基于MPI和OpenMP混合编程模型并行计算提高计算速度的方法
US9361163B2 (en) * 2013-11-28 2016-06-07 Good Technology Corporation Managing containerized applications on a mobile device while bypassing operating system implemented inter process communication
CN104700003B (zh) * 2013-12-04 2019-02-01 腾讯科技(深圳)有限公司 一种文件加壳及脱壳方法、装置及系统
JP6326838B2 (ja) * 2014-02-05 2018-05-23 日本電気株式会社 プログラム処理装置、プログラム処理方法、及びプログラム処理プログラム
CN104932928A (zh) * 2014-03-17 2015-09-23 无锡天脉聚源传媒科技有限公司 一种基于java的插件化开发方法及系统
CN104932873B (zh) * 2014-03-19 2018-05-25 联发科技(新加坡)私人有限公司 档案处理方法以及电子装置
CN105204922B (zh) * 2014-06-30 2018-12-07 金电联行(北京)信息技术有限公司 一种数据采集平台客户端采集方法
CN104834515A (zh) * 2015-03-30 2015-08-12 百度在线网络技术(北京)有限公司 目标文件的生成方法
CN105988852A (zh) * 2015-12-25 2016-10-05 武汉安天信息技术有限责任公司 一种Android程序插件化实现方法及系统

Also Published As

Publication number Publication date
TW201818242A (zh) 2018-05-16
CN106569869A (zh) 2017-04-19
AU2017258904B2 (en) 2019-02-14
US10387169B2 (en) 2019-08-20
KR102096195B1 (ko) 2020-04-02
EP3540594A1 (en) 2019-09-18
KR20180077265A (ko) 2018-07-06
JP2019502176A (ja) 2019-01-24
AU2017258904A1 (en) 2018-05-31
WO2018086268A1 (zh) 2018-05-17
CN106569869B (zh) 2019-04-19
US20180293085A1 (en) 2018-10-11
EP3540594A4 (en) 2020-10-21
SG11201709274UA (en) 2018-06-28
TWI679578B (zh) 2019-12-11

Similar Documents

Publication Publication Date Title
JP6518794B2 (ja) プラグイン化パッケージング方法、装置及び端末
US9760415B2 (en) Code service for language-independent dispatch
US9003363B2 (en) Device flags
CN111930382B (zh) 应用页面的接入方法、装置及设备
WO2017000612A1 (zh) 在搜索过程中实现向移动终端推荐App的方法及装置
CN112395253B (zh) 索引文件生成方法、终端设备、电子设备及介质
CN111694589B (zh) 升级包生成方法、装置、服务器及计算机可读存储介质
CN111078539A (zh) 一种测试方法、装置、系统、计算机可读存储介质
CN111090666A (zh) 一种数据处理方法、装置、系统及计算机可读存储介质
WO2017189727A1 (en) Techniques for monitoring version numbers of web frameworks
US20170199912A1 (en) Behavior topic grids
WO2014036958A1 (en) Methods and apparatus for operating browser engine
CN111325574B (zh) 一种用于提供呈现信息的方法与设备
CN110888794A (zh) 接口测试方法和装置
WO2014174362A1 (en) Feature model based testing
CN110908882A (zh) 一种应用程序的性能分析方法、装置、终端设备及介质
CN112905931A (zh) 页面信息的展示方法、装置、电子设备及存储介质
AU2013206622B2 (en) Download management method and device based on Android browser
CN113176989A (zh) 日志文件的解析方法、装置、设备及存储介质
CN111797009A (zh) 用于检测代码兼容性的方法、装置和电子设备
CN109561146A (zh) 文件下载方法、装置、终端设备
CN111800779B (zh) 设备源识别方法和装置、计算机系统和可读存储介质
CN111026666A (zh) 测试数据处理方法、装置、计算机系统和介质
CN117742726A (zh) 程序的处理方法及装置、电子设备
CN116483722A (zh) 代码检测的方法、装置、电子设备、存储介质及程序产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171120

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190313

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6518794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250