Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
Kim.Jaegil's avatar
Kim.Jaegil
Honored Guest
2 years ago

AutoDriver is not working on Oculus Quest2

Dear All,

I tried to record inputs using AutoDriver as mentioned in the following link :

https://developer.oculus.com/documentation/native/android/ts-autodriver/

I used batch files in the following link:

https://developer.oculus.com/downloads/package/autodriver-batch-files/

I ran RecordAutoDriverInputs.bat and recorded netflix activity but the *.autodriver  file was not created with the following error:

adb: error: failed to stat remote object '/sdcard/Android/data/com.netflix.ninja.vr/AutoDriver/default.autodriver': No such file or directory

Please help me solve this problem.

The entire script I used is :

-------- Script Start -----------------

set TEST_NAME=MyFirstRecording
set TEST_CLASS=com.netflix.ninja.vr
set TEST_ACTIVITY=oculus.Vr2dShell
set TEST_SECONDS=30
 
echo off
setlocal enabledelayedexpansion
 
:: Setup system and device variables.
if "%ADB%"=="" set ADB=adb.exe
%ADB% help > nul
if "%ERRORLEVEL%" NEQ "0" goto AdbNotFound
 
set DEVICE=
if not "%1"=="" set DEVICE=-s %1
for /f "delims=" %%A in ('%ADB% %DEVICE% shell "echo $EXTERNAL_STORAGE"') do Set STORAGE=%%A
 
:: Check to make sure required environment variables are defined.
if "%TEST_NAME%"=="" goto EnvVarNotFound
if "%TEST_CLASS%"=="" goto EnvVarNotFound
if "%TEST_SECONDS%"=="" set TEST_SECONDS=15
 
:: Derived variables.
set TEST_AUTODRIVE=%TEST_NAME%.autodriver
set LOGCAT_FILE=%TEST_NAME%.logcat.txt
set LOGCAT_HIGHLIGHTS_FILE=%TEST_NAME%.logcat.highlights.txt
 
echo.
echo ===== Launching App Activity: %TEST_CLASS% =====
 
:: Clear the logcat so that we get a smaller result when we fetch it (after the test run)
%ADB% %DEVICE% logcat -c
 
:: Run the test app in autodrive mode.
%ADB% %DEVICE% shell setprop debug.oculus.vrapilayers AutoDriver
%ADB% %DEVICE% shell setprop debug.oculus.autoDriverApp %TEST_CLASS%
%ADB% %DEVICE% shell setprop debug.oculus.autoDriverMode Record
%ADB% %DEVICE% shell am start -S %TEST_CLASS%/%TEST_ACTIVITY%
 
echo Put you headset on and do stuff--your user inputs will be recorded
 
:: Sleep while we give the app to launch and the user to make their inputs
timeout /t %TEST_SECONDS%
 
:: Shut AutoDriver and the app down.
%ADB% %DEVICE% shell am broadcast -a com.oculus.vrapilayers.AutoDriver.SHUTDOWN
%ADB% %DEVICE% shell am force-stop %TEST_CLASS%
 
:: Fetch the logs from the test run.
%ADB% %DEVICE% logcat -d > %LOGCAT_FILE%
 
:: Fetch the newly created autodriver file.
%ADB% %DEVICE% pull %STORAGE%/Android/data/%TEST_CLASS%/AutoDriver/default.autodriver %TEST_AUTODRIVE%
 
echo.
echo ===== Outputs: %TEST_NAME% =====
 
echo Your user inputs were saved here: %TEST_AUTODRIVE%
 
echo Complete logcat saved here: %LOGCAT_FILE%
 
::
:: Test exit points
::
 
:SuccessfulRun
goto Finished
 
:AdbNotFound
echo Error: %ADB% could not be found. Please make sure it's on your PATH or set $ADB to point to it.
goto Finished
 
:EnvVarNotFound
echo Error: The following environment variables must be defined: TEST_NAME, TEST_CLASS,
echo        The following environment variables are optional: TEST_SECONDS
goto Finished
 
:Finished
pause

-------- Script End -----------------

 

1 Reply

  • Dear All,
    Andorid log shows the error : library "libautodriver.so" not found.
     
    I VrApi_DriverLoader: *Adding Layer: AutoDriver
    I VrApi_DriverLoader: About to call StartLayer in vrapilayers.AutoDriver
    W VrApi_DriverLoader: VrapiLayer: ERROR starting AutoDriver
    W System.err: java.lang.UnsatisfiedLinkError: dlopen failed: library "libautodriver.so" not found
    W System.err: at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
    W System.err: at java.lang.Runtime.loadLibrary0(Runtime.java:998)
    W System.err: at java.lang.System.loadLibrary(System.java:1656)
    W System.err: at com.oculus.vrapilayers.AutoDriver.StartLayer(:20)
    W System.err: at com.oculus.systemdriver.DriverLoader.nativeGetFunctionAccessor(Native Method)
    W System.err: at com.oculus.systemdriver.DriverLoader.loadInternal(:23)
    W System.err: at com.oculus.systemdriver.DriverLoader.load32(:0)
    W System.err: at com.oculus.vrappframework.VrApp.nativeOnCreate(Native Method)
    W System.err: at com.oculus.vrappframework.VrApp.onCreate(VrApp.java:52)
    W System.err: at com.oculus.vrappframework.VrActivity.onCreate(VrActivity.java:117)
    W System.err: at oculus.Vr2dShell.onCreate(Vr2dShell.java:43)
    W System.err: at android.app.Activity.performCreate(Activity.java:8057)
    W System.err: at android.app.Activity.performCreate(Activity.java:8037)
    W System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1341)
    W System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3705)
    W System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3881)
    W System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
    W System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    W System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    W System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2270)
    W System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
    W System.err: at android.os.Looper.loopOnce(Looper.java:214)
    W System.err: at android.os.Looper.loop(Looper.java:304)
    W System.err: at android.app.ActivityThread.main(ActivityThread.java:7918)
    W System.err: at java.lang.reflect.Method.invoke(Native Method)
    W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1010)