جلسه نصب افزایشی
public class IncrementalInstallSession
extends Object
| شیء جاوا | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
برای ایجاد یک جلسه نصب بسته افزایشی استفاده میشود که در آن بلوکهای APK های نصب شده در صورت نیاز به خواندن، به دستگاه منتقل میشوند.
نصب افزایشی از سیستم فایل افزایشی (IncFs) استفاده میکند تا امکان تکمیل نصب قبل از پخش کامل APK به دستگاه را فراهم کند. این کلاس میتواند برای شروع نصب افزایشی، کنترل بلوکهای APK که اجازه پخش به دستگاه را دارند و منتظر ماندن تا زمان تکمیل نصب APK و/یا پخش تمام بلوکها به دستگاه استفاده شود.
اتصال به دستگاه تا زمانی که جلسه بسته شود، نصب با شکست مواجه شود، اتصال دستگاه به پایان برسد یا هنگام پردازش درخواستهای بلوک از دستگاه، استثنائی رخ دهد، باز میماند.
یک نمونه از کاربرد این کلاس به صورت زیر است:
{@code try (IncrementalInstallSession session = new IncrementalInstallSession.Builder()
.addApk(mTestApk0, mTestSignature0)
.build()) {
// Start the session on a separate thread.
session.start(Executors.newCachedThreadPool(), mockDevice.getFactory());
// Wait a maximum of 45 seconds for the install to finish.
session.waitForInstallCompleted(45, TimeUnit.SECONDS);
}خلاصه
کلاسهای تو در تو | |
|---|---|
class | IncrementalInstallSession.Builder |
روشهای عمومی | |
|---|---|
void | close ()ارتباط با دستگاه را لغو میکند. |
IncrementalInstallSession | start (Executor executor, IDeviceConnection.Factory conFactory)جلسه نصب استریمینگ را آغاز میکند. |
void | waitForAnyCompletion (long timeout, TimeUnit units)تا زمانی که دادههای APK به دستگاه منتقل نشده یا نصب تمام نشده باشد، رشتهی فعلی را مسدود میکند. |
void | waitForInstallCompleted (long timeout, TimeUnit units)تا زمانی که همه APK ها با موفقیت نصب نشوند، رشته فعلی را مسدود میکند. |
void | waitForServingCompleted (long timeout, TimeUnit units)تا زمانی که تمام دادههای APK به دستگاه منتقل نشده باشند، رشتهی فعلی را مسدود میکند. |
روشهای عمومی
بستن
public void close ()
ارتباط با دستگاه را لغو میکند.
شروع
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
جلسه نصب استریمینگ را آغاز میکند.
| پارامترها | |
|---|---|
executor | Executor : اجراکنندهای که مدیریت درخواستهای بلوک از دستگاه روی آن آغاز میشود. |
conFactory | IDeviceConnection.Factory : کارخانه اتصال دستگاه |
| بازگشتها | |
|---|---|
IncrementalInstallSession | |
| پرتابها | |
|---|---|
| اگر هنگام برقراری ارتباط با دستگاه خطایی رخ دهد |
منتظر بمانید تا تکمیل شود
public void waitForAnyCompletion (long timeout,
TimeUnit units)تا زمانی که دادههای APK به دستگاه منتقل نشده یا نصب تمام نشده باشد، رشتهی فعلی را مسدود میکند.
| پارامترها | |
|---|---|
timeout | long : حداکثر زمان انتظار. مقدار 0 باعث میشود که این متد به طور نامحدود منتظر بماند. |
units | TimeUnit : واحدهایی برای timeout غیر صفر |
| پرتابها | |
|---|---|
| اگر زمان انتظار تمام شود، یک APK نصب نشود، یا هنگام مدیریت درخواستهای بلاک، استثنایی رخ دهد. |
منتظر بمانید تا نصب کامل شود
public void waitForInstallCompleted (long timeout,
TimeUnit units)تا زمانی که همه APKها با موفقیت نصب نشوند، رشته فعلی را مسدود میکند. ارائه داده ممکن است قبل یا بعد از نصب موفقیتآمیز به پایان برسد.
| پارامترها | |
|---|---|
timeout | long : حداکثر زمان انتظار برای اتمام نصب. مقدار 0 باعث میشود این متد به طور نامحدود منتظر بماند. |
units | TimeUnit : واحدهایی برای timeout غیر صفر |
| پرتابها | |
|---|---|
| اگر زمان انتظار تمام شود، یک APK نصب نشود، یا هنگام مدیریت درخواستهای بلاک، استثنایی رخ دهد. |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)تا زمانی که تمام دادههای APK به دستگاه منتقل نشده باشند، رشتهی فعلی را مسدود میکند. نصب ممکن است قبل یا بعد از اتمام ارائه، پایان یابد.
| پارامترها | |
|---|---|
timeout | long : حداکثر زمان انتظار برای اتمام سرویسدهی. مقدار 0 باعث میشود این متد به طور نامحدود منتظر بماند. |
units | TimeUnit : واحدهایی برای timeout غیر صفر |
| پرتابها | |
|---|---|
| اگر زمان انتظار تمام شود، یک APK پخش نشود، یا هنگام مدیریت درخواستهای بلاک، استثنایی رخ دهد. |
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-12-04 بهوقت ساعت هماهنگ جهانی.