إعداد إمكانية الوصول عن بُعد

يقدّم Android 14 ميزة الوصول عن بُعد الجديدة، والذي يمكّن الشركاء من تنشيط Android عن بُعد في إحدى المركبات مهام محددة. على سبيل المثال، لتنفيذ وضع المرآب خلال الليل لتطبيق البرامج التحديثات. يجب استخدام عدة مكوّنات غير متوافقة مع نظام التشغيل Android من البداية إلى النهاية سير العمل. لا يحدّد Android أو يوفّر عملية التنفيذ للأجهزة التي لا تعمل بنظام التشغيل Android (هذه المسئولية تقع على عاتقك).

لمزيد من المعلومات، يمكنك الاطّلاع على الأقسام التالية:

هندسة معمارية

يفترض المحتوى التالي استخدام بنية النموذج التالية، والتي افتراضية وقد لا يعكس الهندسة الفعلية. يجب تعديل المصنّعين الأصليين للأجهزة تنفيذ فعلي للبُنى الأساسية للمركبات والخوادم.

الصورة

الشكل 1. عينة الهندسة.

يتألف نموذج البنية من مكونات الأجهزة التالية:

مكوّن الجهاز الوصف
معالج التطبيقات معالِج يعمل بنظام التشغيل Android قد يعمل Android على ذاكرة افتراضية (VM). (وليس على الأجهزة الفعلية) على هذا المعالج.
معالج المركبات معالِج البيانات المسؤول عن التحكّم في طاقة التطبيق معالج البيانات.
وحدة تحكم عن بُعد (TCU) معالج في المركبة قادر دائمًا على تلقي الرسائل عن بُعد من السحابة. يُفترض أن تكون وحدة TCU مشغَّلة دائمًا أو في وضع الطاقة المنخفضة. استخدام رسائل عن بُعد لتنشيط وحدة TCU.
خادم التنشيط يشير هذا المصطلح إلى خادم بعيد يعمل في السحابة الإلكترونية ويكون مسؤولاً عن التواصل مع وحدة TCU في السيارة لإصدار أوامر الاستيقاظ.
خادم المهام عن بُعد يعمل خادم المهام البعيد في السحابة ويتفاعل مع الأشخاص ويدير المهام عن بُعد.

تتألف بنية النموذج من هذه مكونات البرامج، وجميع التي تعمل على نظام التشغيل Android:

مكوّن برنامج على نظام التشغيل Android الوصف
خدمة السيارة خدمة إطار عمل AAOS التي توفّر واجهات برمجة التطبيقات للوصول عن بُعد.
عميل المهام عن بُعد يكتب البائع Service التي تنفذ المهام عن بُعد. يمكن لنظام Android واحد تشغيل عدة تطبيقات المهام عن بُعد.
طبقة تجريد الأجهزة (HAL) للوصول عن بُعد يجب تنفيذه للوصول عن بُعد.
طبقة تجريدية للاتصال بين نظام التشغيل Android Automotive والإصدار غير Android مثل TCU.

يتم وصف مكوّنات البرامج التي لا تعمل بنظام التشغيل Android أدناه:

مكوّن برنامج غير Android الوصف
تنشيط البرنامج أي برامج تعمل على TCU وتحافظ على اتصال طويل الأمد خادم التنشيط. ويحافظ أيضًا على اتصال بطبقة تجريد الأجهزة (HAL) للوصول عن بُعد. تسليم المهام عن بُعد إلى "خدمة السيارة".
تنفيذ خادم التنشيط خادم يتصل ببرنامج التنشيط الذي يعمل على وحدة TCU. علبة إرسال طلبات التنشيط إلى برنامج التنشيط.
تنفيذ خادم المهام عن بُعد خادم يدير المهام عن بُعد يتفاعل المستخدمون مع هذا الخادم المشكلات ومراقبة المهام عن بُعد.

سير العمل

يسرد هذا القسم الخطوات في نموذج سير عمل.

نموذج لسير العمل

يمكن أن يشبه سير العمل التفصيلي ما يلي:

  1. يركن المستخدم مركبة في المرآب.

  2. يسعى الشريك إلى تعديل مركبته ليلاً عند حدوث تفاعلات مع المركبات. محتمل.

  3. يرسل الخادم السحابي الشريك مهمة تحديث عن بُعد للنظام إلى المركبة. وعلى وجه التحديد، وحدة التحكم عن بُعد (TCU).

  4. تعمل وحدة التحكّم عن بُعد (TCU) في المركبة على تشغيل وحدة التحكّم الإلكتروني من Android (ECU) تؤدي خدمة المصنّع الأصلي للجهاز إلى تشغيل وضع Garage.

  5. يشغِّل Android وضع "مهارات من Google" لتنزيل التحديثات وتثبيتها من خلال Google Play.

  6. بعد تطبيق التحديث، يضع Android علامة على المهمة باعتبارها مكتملة إنهاء الاتصال أو الوصول إلى مهلة محددة.

سير العمل التفصيلي

هناك خطوتان مهمتان مطلوبتان للوصول عن بُعد. الأول هو أن تسجّل العميل، وهي ربط مستخدم معيّن بجهاز تحكّم عن بُعد عميل مهام يعمل على مركبة معينة. والآخر هو تسليم مهمة ما، هي تسليم المهمة البعيدة لمستخدم معين إلى مهمة محددة عن بُعد العميل الذي يعمل على المركبة المحددة.

تسجيل عميل

لاستخدام ميزة الوصول عن بُعد، على المستخدم فتح برنامج المهام عن بُعد التطبيق مرة واحدة على الأقل وإكمال عملية تسجيل العميل (نص غامق) إلى المهام التي يتم تنفيذها بواسطة AAOS):

  1. عند بدء تشغيل السيارة، تحصل خدمة Car Service على معلومات المركبة من جهاز الوصول عن بُعد. HAL.

  2. عند بدء التشغيل، تطلق خدمة السيارة جميع عملاء المهام عن بُعد استنادًا إلى وفلتر الأهداف والإذن.

  3. فعند بدء برنامج مهام عن بُعد، يسجِّل عميل المهام عن بُعد نفسه مع خدمة السيارة.

  4. تُبلغ "خدمة السيارة" عميل المهمة عن بُعد بشأن التسجيل المعلومات، بما في ذلك معرّف المركبة ومعرّف العميل. معرّف العميل فريد وتعيينه خدمة السيارة لهذا العميل. نضمن لك أن تكون فريدة بين جميع عملاء المهام عن بُعد على متن المركبة نفسها

  5. يقوم المستخدم بتسجيل الدخول إلى خادم المهام البعيد من خلال برنامج المهام عن بُعد تتيح ميزة الوصول عن بُعد لهذه السيارة. تؤدي هذه الخطوة عادةً يتضمن مصادقة من خلال خادم المهام البعيد.

  6. يحمّل عميل المهمة عن بُعد معلومات المستخدم إلى جانب رقم تعريف المركبة. ومعرِّف العميل إلى خادم المهام البعيدة ويطلب منه ربط المستخدم هذا العميل بالتحديد وهذه المركبة المحددة.

    اختياريًا، قد تتضمن هذه الخطوة مصادقة إضافية ثنائية. من المستخدم.

    يجب أن يصادق خادم المهمة عن بُعد على أن رقم تعريف المركبة المقدم في تطابق الطلب مع معرف المركبة لدى المرسل، وهو ما يمكن تنفيذه من خلال ومصادقة المركبة.

تكون عملية تسجيل العميل مطلوبة، ما لم تتم إعادة الضبط على الإعدادات الأصلية. مرة واحدة لكل مستخدم لكل مركبة. يتم تخزين معرف العميل محليًا في خدمة السيارة ويظل كما هو للعميل نفسه.

الصورة

الشكل 2. تسجيل عميل.

إلغاء تسجيل عميل

يمكن للمستخدم إلغاء ربط المركبة من حسابه إما بالمركبة أو من خادم المهام البعيدة:

  • في المركبة، يمكن للمستخدمين فتح تطبيق برنامج المهام عن بُعد والمشكلة طلب إلغاء ربط هذه المركبة بحساب المستخدم الذي سبق ربطها الحسابات.

  • على خادم المهام البعيد، يمكن للمستخدمين تسجيل الدخول إلى حساباتهم وإلغاء الربط مركبة مرتبطة سابقًا من هذا الحساب.

إذا ألغى المستخدم ربط المركبة من حسابه، على خادم المهام البعيدة إزالة التعيين المُخزن للمستخدم المحدد.

تسليم المهام

في السحابة الإلكترونية:

  1. لنفترض أن هناك مستخدمًا يستخدم خادم المهام البعيد لإرسال مهمة عن بُعد إلى خادم مخصّص المركبة.

  2. يربط خادم المهام عن بُعد رقم تعريف المستخدم بمعرّف المركبة ومعرّف العميل. أُنشأها جون هنتر، الذي كان متخصصًا ترسل بيانات المهمة ومعرف المركبة ومعرف العميل إلى خادم التنشيط.

  3. يعثر خادم التنشيط على وحدة TCU المحددة لمعرف المركبة (بافتراض تم تسجيل TCU بالفعل) ويتم إرسال بيانات المهمة ومعرِّف العميل إلى وحدة TCU.

في المركبة (يشير النص الغامق إلى المهام التي يتم تنفيذها من خلال نظام التشغيل Android Automotive):

  1. وحدة TCU تتلقى المهام عن بُعد من خادم بعيد.

  2. إذا كان معالج التطبيقات (AP) الذي يعمل بنظام التشغيل AAOS غير مفعّل، تستخدم TCU معالج المركبات (VP) لتنشيط نقطة الوصول.

  3. خدمة Car Service تتلقّى مهام من TCU.

  4. توزّع خدمة Car Service المهام على برنامج المهام عن بُعد المقابل لها.

  5. يتلقى عميل المهمة البعيدة المهمة وينفذها.

    (اختياري) يقوم عميل المهام عن بُعد بالاتصال بخادم المهام للحصول على مزيد من تفاصيل المهام وينفذ المهمة.

  6. (اختياري) تُبلغ خدمة عملاء المهام عن بُعد نتيجة المهمة إلى خادم المهام.

  7. يرسل عميل المهمة عن بُعد إشعارًا إلى خدمة السيارة عند اكتمال المهمة.

  8. إذا لزم الأمر، تستعيد "خدمة السيارة" حالة قدرة المركبة.

الصورة

الشكل 3. تسليم المهام

كتابة برنامج مهام عن بُعد

يوفّر CarRemoteAccessManager واجهة برمجة التطبيقات لميزات الوصول عن بُعد. للتعلّم المزيد، راجع CarRemoteAccessManager: برنامج المهام عن بُعد هو خدمة Android تنفّذ المهام عن بُعد وتستخدم CarRemoteAccessManager يتطلب هذا الإجراء كلاً من PERMISSION_USE_REMOTE_ACCESS PERMISSION_CONTROL_REMOTE_ACCESS ويجب أن يعلن عن فلتر أهداف من أجل RemoteTaskClientService مثل:

<service android:name=".remoteaccess.RemoteTaskClientService"
         android:directBootAware="true"
         android:exported="true">
    <intent-filter>
       <action android:name="android.car.remoteaccess.RemoteTaskClientService" />
    </intent-filter>
</service>

يجب أن يسجِّل عميل المهام عن بُعد نفسه في خدمة السيارة أثناء الإنشاء:

public final class RemoteTaskClientService extends Service {
    @Override
    public void onCreate() {
        // mCar = Car.createCar()...
        mRemoteAccessManager = (CarRemoteAccessManager)
            mcar.getCarManager(Car.CAR_REMOTE_ACCESS_SERVICE);
        if (mRemoteAccessManager == null) {
            // Remote access feature is not supported.
            return;
        }
        mRemoteAccessManager.setRemoteTaskClient(executor, mRemoteTaskClient);
    }
}

يجب أن يلغي ذلك دالة onBind لعرض قيمة فارغة.

@Override
public IBinder onBind(Intent intent) {
    return null;
}

تدير خدمة Car Service دورة حياتها. ترتبط خدمة السيارة بهذه الخدمة أثناء الشركة الناشئة وعند وصول مهمة عن بُعد. تلغي خدمة السيارة ربط هذه الخدمة عند تكتمل المهمة. لمزيد من المعلومات، يُرجى مراجعة إدارة دورة حياة الخدمة:

يتم تشغيل برنامج المهام عن بُعد كمستخدم النظام، لذا لا يمكنه الوصول إلى أي بيانات خاصة بالمستخدم.

يوضّح المثال التالي كيفية التعامل مع طلبات معاودة الاتصال المسجَّلة:

private final class RemoteTaskClient
    implements CarRemoteAccessManager.RemoteTaskClientCallback {
    @Override
    public void onRegistrationUpdated(
        RemoteTaskClientRegistrationInfo info) {
        // Register to remote task server using info.
    }
    @Override
    public void onRemoteTaskRequested(String taskId,
        byte[] data, int remainingTimeSec) {
        // Parses the data and execute the task.
        // Report task result to remote task server.
        mRemoteAccessManager.reportRemoteTaskDone(taskId);
    }
    @Override
    public void onShutdownStarting(CompleteableRemoteTaskFuture future) {
        // Stop the executing task.
        // Clear the pending task queue.
        future.complete();
    }
}

التنفيذ من قِبل المورّدين

إنّ ميزة الوصول عن بُعد اختيارية ومتوقّفة تلقائيًا. لتفعيل أضف RRO مثل ما يلي:

// res/xml/overlays.xml
<?xml version="1.0" encoding="utf-8"?>
<overlay>
    <item target="array/config_allowed_optional_car_features" value="@array/config_allowed_optional_car_features" />
</overlay>

// res/values/config.xml
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string-array translatable="false" name="config_allowed_optional_car_features">
        <item>car_remote_access_service</item>
    </string-array>
</resources>

// Android.bp
runtime_resource_overlay {
    name: "RemoteAccessOverlay",
    resource_dirs: ["res"],
    manifest: "AndroidManifest.xml",
    sdk_version: "current",
    product_specific: true
}

أو استخدِم الأمر adb التالي في إصدار userdebug/eng:

adb shell cmd car_service enable-feature car_remote_access_service

متطلبات الأجهزة التي تعمل بنظام التشغيل Android

طبقة تجريد الأجهزة (HAL) للوصول عن بُعد

إن طبقة تجريد أجهزة الوصول عن بُعد (HAL) عبارة عن تنفيذ من جانب البائع طبقة تجريدية للاتصال بين AAOS وجهاز ECU آخر (على سبيل المثال، TCU. يجب توفير إمكانية استخدام ميزة الوصول عن بُعد. إنه لا يحتاج إلى أن يتم تنفيذها في حال عدم تنفيذ ميزة الوصول عن بُعد.

يتم تحديد الواجهة عند IRemoteAccess.aidl وتضمين الطرق التالية:

الفئة الوصف
String getVehicleId() الحصول على معرّف فريد للمركبة يمكن التعرّف عليه عند الاستيقاظ الخادم.
String getWakeupServiceName() الحصول على اسم خادم التنشيط عن بُعد.
String getProcessorId() الحصول على معرّف معالج فريد يمكن التعرف عليه من خلال تنشيط البرنامج.
void setRemoteTaskCallback(IRemoteTaskCallback callback)

تحدِّد هذه السياسة معاودة الاتصال ليتم طلبها عند طلب مهمة بعيدة.

void clearRemoteTaskCallback() يؤدي هذا الإجراء إلى محو استدعاء مهمة عن بُعد تم ضبطها سابقًا.
void notifyApStateChange(in ApState state)

يرصد ما إذا كان معالج التطبيقات جاهزًا لتلقّي المهام عن بُعد.

يتم تحديد واجهة معاودة الاتصال على IRemoteTaskCallback.aid

الفئة الوصف
oneway void onRemoteTaskRequested(String clientId, in byte[] data)

استدعاء يتم استدعاءه عند طلب مهمة عن بُعد.

يمكنك الاطّلاع على تنفيذ المرجع مع وحدة TCU خارجية. تستخدم عملية التنفيذ بثًا مباشرًا للقراءة تلقّي المهام عن بُعد ويتوافق مع أمر debug التالي:

dumpsys android.hardware.automotive.remoteaccess.IRemoteAccess/default

طبقة تجريد الأجهزة (HAL) في المركبة

لإتاحة ميزة الوصول عن بُعد، يجب أن تتوافق VHAL مع الخصائص التالية:

الفئة الوصف
SHUTDOWN_REQUEST يطلب إيقاف الوحدة الرئيسية.
VEHICLE_IN_USE
  • يرصد ما إذا كانت المركبة قيد الاستخدام.
  • بعد أن يفتح المستخدم قفل المركبة أو عند اقترابه المركبة. يجب أن يكون true.
  • مدة محددة بعد إيقاف المستخدم للمركبة أو عندما يقفل المستخدم المركبة. يجب أن يكون false.
  • عندما true، لا يحاول AAOS إيقاف المركبة عند إنجاز المهمة عن بُعد.

لمزيد من المعلومات، يُرجى مراجعة خصائص النظام المتوافقة:

وضع صامت

يجب أن يكون "الوضع الصامت" متوافقًا مع ميزة "الوصول عن بُعد" لكي تكون المركبة. بدء التشغيل في الوضع الصامت لتنفيذ المهام عن بُعد في حال عدم تواجد أي مستخدم مع الوضع الصامت، يتم تشغيل جهاز AAOS مع إيقاف تشغيل الصوت والعرض.

يتم التحكّم في "الوضع الصامت" من خلال ملفَّين على نواة Linux في sysfs.

الفئة الوصف
/sys/kernel/silent_boot/pm_silentmode_kernel_state

يمثل الوضع الصامت الحالي.

/sys/kernel/silent_boot/pm_silentmode_hw_state

يمثل إشارة الجهاز لتعيين وضع صامت جديد.

يرسل معالج المركبة إشارة HW إلى المنظومة على الرقاقة في Android لتفعيل الوضع الصامت أو إيقافه. الحالي. الإشارة (0 أو 1) مكتوبة إلى /sys/kernel/silent_boot/pm_silentmode_hw_state بعد ذلك، يتم تحديث إطار عمل AAOS. /sys/kernel/silent_boot/pm_silentmode_kernel_state وفقًا لذلك الوضع الصامت الحالي. عمليات التحقّق من وحدات نظام التشغيل Android Automotive /sys/kernel/silent_boot/pm_silentmode_kernel_state لمعرفة ما إذا كان النظام في الوضع الصامت أو لا.

عندما يتم استلام مهمة عن بُعد ويتم تشغيل AAOS، فإن معالج السيارة يضبط يتم تفعيل الوضع الصامت وبدء AAOS حتى يتم تشغيل النظام مع إيقاف شاشة العرض/الصوت.

مكونات غير Android في المركبة

معالج المركبات

معالِج المركبات هو معالج في المركبة يمكنه التحكّم في الطاقة لمعالج التطبيقات الذي يعمل بنظام التشغيل Android. في نموذج الهندسة المعمارية، تشير TCU تنشيط معالج التطبيقات من خلال إرسال إشارة إلى السيارة معالج البيانات.

مكونات غير Android في المركبة

يمكن دائمًا لوحدة التحكّم الموحّد (TCU) في المركبة استقبال الرسائل عن بُعد.

يعمل برنامج التنشيط على وحدة TCU لضمان اتصال طويل الأمد خادم تنشيط عن بُعد.

يمكن لنظام التشغيل Android Automotive (AAOS) الذي يعمل على AP التواصل مع برنامج التنشيط الذي يعمل على وحدة TCU من خلال طبقة تجريد الأجهزة (HAL) للدخول عن بُعد.

الصورة

الشكل 4. TCU (برنامج التنشيط).

المكونات على السحابة الإلكترونية

خادم التنشيط

يتواصل خادم التنشيط مع برنامج التنشيط في وحدة TCU من أجل:

  • الحفاظ على اتصال طويل الأمد مع وحدة TCU للمركبة
  • البحث عن وحدة TCU محددة استنادًا إلى رقم تعريف المركبة
  • الإبلاغ عن حالة مركبة على سبيل المثال، متصل أو غير متصل، أو آخر عبر الإنترنت إلى خادم المهام البعيدة.

في عملية التنفيذ الفعلية، يمكن دمج خادم التنشيط مع وحدة تحكم عن بُعد خادم مهام Google.

خادم المهام عن بُعد

ويدير خادم المهام عن بُعد هذه المهام عن بُعد.

  • يتفاعل المستخدم مع الخادم لبدء مهام جديدة عن بُعد ومراقبة المهام عن بُعد.

  • تستخدم خادم التنشيط عن بُعد لتنشيط معالج التطبيقات في المركبات.

  • يتفاعل مع برنامج المهام عن بُعد الذي يعمل على السيارة.

  • تخزين معلومات تسجيل العميل يؤدي هذا الإجراء إلى ربط مستخدم معيّن. إلى عميل مهام عن بُعد محدد في مركبة معينة.

عادةً ما تكون بيانات المهمة التي يتم إرسالها عبر خادم المهام البعيدة إلى عملية التنشيط وإلى وحدة TCU في السيارة، وفي النهاية إلى عميل المهام عن بُعد معرّف المهمة. يستخدم عميل المهام عن بُعد معرّف المهمة لاسترجاع التفاصيل المعلومات من خادم المهام البعيدة.

متطلبات الخصوصية والأمان

المهمة الشرط المتطلب
TCU (برنامج التنشيط) يجب
  • قم بمصادقة خادم التنشيط.
  • ثق في الرمز.
خادم التنشيط يجب
  • السماح فقط لخوادم المهام البعيدة المُدرجة في القائمة المسموح بها بالاتصال.
  • مصادقة برنامج التنشيط.
  • أرسِل رسالة التنشيط إلى المركبة المستهدفة فقط.
عميل المهام عن بُعد يجب
  • يجب مصادقة المستخدم أثناء التسجيل.
  • قم بمصادقة خادم المهام البعيدة.
  • استيفاء جميع متطلبات الأمان لأي خدمة من خدمات Android على سبيل المثال: ذات أذونات محدودة.
خادم المهام عن بُعد يجب
  • يجب مصادقة خادم التنشيط.
  • عليك تقديم مصادقة المركبة. أي، المصادقة على أن المركبة يتطابق رقم التعريف المقدَّم في الطلب مع رقم تعريف المركبة لدى المُرسِل. إذا كانت المركبة لا يمكن إجراء المصادقة، فيجب استخدام وسائل أخرى للتحقق من أن يمتلك المستخدم حاليًا المركبة.
  • المصادقة على هوية المستخدم
  • استيفاء جميع متطلبات الأمان للخادم الذي يتعامل مع المستخدمين المعلومات.

إعادة الضبط على الإعدادات الأصلية ونقل الملكية

إذا أجرى مستخدم إعادة ضبط على الإعدادات الأصلية، سيتم استخدام معرّف العميل المُخزّن في "خدمة السيارة" محوت. ومع ذلك، فإن الخوادم (خادم المهام البعيد وخادم التنشيط عن بُعد) غير مطّلع. تحتفظ الخوادم بتعيينات من معرِّف العميل المنتهي الصلاحية الآن إلى المركبة. نتيجة لذلك، إذا بدأ المستخدم مهمة جديدة عن بُعد للمركبة، فإنه يستخدم معرف العميل منتهي الصلاحية. تم تنشيط السيارة، ولكن المهمة البعيدة لا يمكن تنفيذه نظرًا لأن عميل المهام البعيدة له معرِّف عميل مختلف غير متطابق.

في ما يلي وصف لعملية تنفيذ محتملة لإعادة الضبط على الإعدادات الأصلية.

عندما يصدر المستخدم إعادة تعيين على الإعدادات الأصلية، يطلب المورد من المستخدم تسجيل الدخول إلى خادم المهام البعيدة وإلغاء ربط المركبة بحسابه إذا كان المستخدم تم ربط السيارة سابقًا. لا يمكن ضمان اتصال الجهاز بالشبكة. الوصول إليه خلال وقت إعادة تعيين إعدادات المصنع. نتيجةً لذلك، إنّ إصدار طلب إلغاء الربط عند إعادة تعيين إعدادات المصنع من الجهاز.

عندما يتم نقل ملكية مركبة، يجب إجراء بعض العمليات للتأكد من أن المالك السابق لم يعد بإمكانه إصدار المهام عن بُعد إلى المركبة. على سبيل المثال، قد يُطلب من المالك الجديد ما يلي:

  • إعادة الضبط على الإعدادات الأصلية يضمن ذلك إعادة إنشاء معرّف العميل. بعد بهذه الخطوة، يظل بإمكان المالك السابق تنشيط المركبة، لكن لا وتنفيذ مهام أطول عن بُعد.

  • افتح تطبيق برنامج المهام عن بُعد واتّبع إلغاء تسجيل العميل لإلغاء ربط المركبة من حساب المالك السابق. يمكن للمالك الجديد اتباع السجل عملية ربط المركبة بحسابه واستبدال المرتبط مسبقًا.

  • يمكن للمالك الجديد استخدام عملية تسجيل عميل من أجل ربط المركبة بحسابه واستبدال الحساب الذي سبق ربطه.

اختبار برنامج المهام عن بُعد

نحن نوفر بروتوكول HAL المرجعي للوصول عن بُعد. default دليل لاختبار عملاء المهام البعيدة. يمكنك استخدام debug التالية. إدخال مهمة وهمية عن بُعد في HAL، حيث تتم إعادة توجيهها إلى عن بُعد إذا قدمت معرّف العميل الصحيح. يمكنك التواصل مع العميل رقم التعريف من خلال تسجيل معلومات التسجيل في برنامج المهام عن بُعد التنفيذ.

adb root && adb shell dumpsys android.hardware.automotive.remoteaccess.IRemoteAccess/default --inject-task [clientID] [taskData]