Jump to content

what SDK for VIVE Flow


eddylai

Recommended Posts

Im developing software for VIVE Flow

found there are 6 SDKs available on HTC site, but what can be used for VIVE Flow?

  • VIVE Wave
  • VIVE SRWorks
  • VIVE Eye and Facial Tracking
  • VIVE Hand Tracking
  • VIVE 3DSP Audio
  • VIVEPORT
Edited by eddylai
typo
Link to comment
Share on other sites

since I'm using Unity (2021.3.20f1) with VIVE Flow, following the tutorial install the packages:
 .VIVE OpenXR Plugin - Android 1.0.5

 .VIVE OpenXR ToolKit - Anrdoid 1.0.5

 .VIVE OpenXR Toolkit Samples - Android 1.0.5

got following error on build:

----------------------------------------------------------------------------

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:packageRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "D:\Android\Home\.android\debug.keystore": Invalid keystore format

Build completed with a result of 'Failed' in 21 seconds (20501 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002da] in <6e08e61cfda04255b3972ba7f0515fae>:0
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <6e08e61cfda04255b3972ba7f0515fae>:0
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

 

Link to comment
Share on other sites

@eddylai 

Sorry to hear about the trouble!

This appears to be an issue with the way that unity looks for the keystore file. A user reported that deleting that file allowed it to work again. This seems to be an issue with unity that can be resolved by deleting (or moving) the "D:\Android\Home\.android\debug.keystore" file, so it can create one that it recognizes

answers lifted from
https://stackoverflow.com/questions/70917420/unity-error-on-m1-mac-failed-to-read-key-from-keystore-invalid-keystore-for
https://stackoverflow.com/questions/54877439/failed-to-read-key-androiddebugkey-from-store
https://stackoverflow.com/questions/72544504/unity-2021-3-4f1-gradle-build-failed

Link to comment
Share on other sites

delete that file did make built success,

but deploy/debug the app to the glasses got following message, and there's only a empty world view inside the glasses

Connected to the target VM, address: 'localhost:62545', transport: 'socket'
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/ny.viveWaveDem: Late-enabling -Xcheck:jni
I/ny.viveWaveDem: VMHOOK: rlim_cur : 0 pid:23616
W/ny.viveWaveDem: Using default instruction set features for ARM CPU variant (cortex-a9) using conservative defaults
W/ActivityThread: Application com.DefaultCompany.viveWaveDemo is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
I/System.out: Debugger has connected
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: debugger has settled (1424)
W/Activity: Load old app VR SDK error, e=java.lang.ClassNotFoundException: Didn't find class "com.htc.vr.BuildConfig" on path: DexPathList[[zip file "/data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/base.apk"],nativeLibraryDirectories=[/data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/lib/arm, /data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/base.apk!/lib/armeabi-v7a, /system/lib]]
W/Activity: Load app VR SDK error, e=java.lang.ClassNotFoundException: Didn't find class "com.htc.vr.client.bootstrap.BuildConfig" on path: DexPathList[[zip file "/data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/base.apk"],nativeLibraryDirectories=[/data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/lib/arm, /data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/base.apk!/lib/armeabi-v7a, /system/lib]]
I/Activity: App VR SDK Version: null
I/Mono: JNI_OnLoad called
D/OpenGLRenderer: Skia GL Pipeline
I/Perf: Connecting to perf service.
W/ny.viveWaveDem: Accessing hidden method Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;I)V (light greylist, reflection)
E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
D/vulkan: searching for layers in '/data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/lib/arm'
D/vulkan: searching for layers in '/data/app/com.DefaultCompany.viveWaveDemo-qcLLPFGkoqyCjMZqPdAugg==/base.apk!/lib/armeabi-v7a'
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: QUALCOMM build          : 56ef1d08ef, I14a8b2d663
    Build Date              : 10/19/21
    Shader Compiler Version : EV031.25.03.09
    Local Branch            :
    Remote Branch           : refs/tags/AU_LINUX_ANDROID_LA.UM.7.8.R1.09.00.00.469.102
    Remote Branch           : NONE
    Reconstruct Branch      : NOTHING
I/Adreno: Build Config                     : S L 6.0.7 AArch32
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: QUALCOMM build          : 56ef1d08ef, I14a8b2d663
    Build Date              : 10/19/21
    Shader Compiler Version : EV031.25.03.09
    Local Branch            :
    Remote Branch           : refs/tags/AU_LINUX_ANDROID_LA.UM.7.8.R1.09.00.00.469.102
    Remote Branch           : NONE
    Reconstruct Branch      : NOTHING
I/Adreno: Build Config                     : S L 6.0.7 AArch32
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
I/Adreno: ===== END DUMP OF OVERRIDDEN SETTINGS =====
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/Adreno: QUALCOMM build                   : 56ef1d08ef, I14a8b2d663
    Build Date                       : 10/19/21
    OpenGL ES Shader Compiler Version: EV031.25.03.09
    Local Branch                     :
    Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.7.8.R1.09.00.00.469.102
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
I/Adreno: Build Config                     : S P 6.0.7 AArch32
I/Adreno: PFP: 0x016ee180, ME: 0x00000000
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
I/SwappyDisplayManager: Starting looper thread
V/SwappyVk: SwappyVk initialized for VkDevice 0xcb1c41d0 using VK_GOOGLE_display_timing on Android
I/SwappyVk: Returning refresh duration of 13333333 nsec (approx 75.000002 Hz)
V/MediaRouter: Adding route: RouteInfo{ name=手機, description=null, status=null, category=RouteCategory{ name=系統 types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
I/chatty: uid=10097(com.DefaultCompany.viveWaveDemo) UnityMain identical 14 lines
E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted
D/MediaRouter: globallySelectedRouteId: null
D/: PlayerBase::PlayerBase()
D/: TrackPlayerBase::TrackPlayerBase()
I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
W/AudioTrack: notificationFrames=-21 clamped to the range -1 to -8
I/AudioTrack: AUDIO_OUTPUT_FLAG_FAST successful; frameCount 0 -> 1536
V/MediaRouter: onRestoreRoute() : route=RouteInfo{ name=手機, description=null, status=null, category=RouteCategory{ name=系統 types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
I/MONO: Getting locale
I/Mono: Locale zh-TW
I/SwappyDisplayManager: Terminating looper thread
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
I/SwappyDisplayManager: Starting looper thread
V/SwappyVk: SwappyVk initialized for VkDevice 0xcb1c41d0 using VK_GOOGLE_display_timing on Android
I/SwappyVk: Returning refresh duration of 13333333 nsec (approx 75.000002 Hz)
E/Unity: ArgumentException: The Object you want to instantiate is null.
      at UnityEngine.Object.Instantiate (UnityEngine.Object original) [0x00029] in <097b93cc61694b088c43861955e64b81>:0
      at UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Transform parent, System.Boolean instantiateInWorldSpace) [0x0000c] in <097b93cc61694b088c43861955e64b81>:0
      at UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Transform parent, System.Boolean worldPositionStays) [0x00001] in <097b93cc61694b088c43861955e64b81>:0
      at UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Transform parent) [0x00001] in <097b93cc61694b088c43861955e64b81>:0
      at Wave.OpenXR.Samples.Hand.Show_Hand.Start () [0x00004] in <02abe4915e194d44a1b119f66cf07887>:0

 

Link to comment
Share on other sites

  • 6 months later...
9 hours ago, ruiying said:

Ran into the same issue. Any update?

@ruiying
Which problem above? Here are some of the problems/solutions suggested
1) signing issue with creating an apk
This appears to be an issue with the way that unity looks for the keystore file. A user reported that deleting that file allowed it to work again. This seems to be an issue with unity that can be resolved by deleting (or moving) the "D:\Android\Home\.android\debug.keystore" file, so it can create one that it recognizes it. I linked to a few threads that point this out
2) Confusion about sdk and/or input
try building against a known-good branch like the openxr_hand_tracking branch here https://github.com/ViveDeveloperRelations/MinimalRepo/tree/openxr_hand_tracking
3)Trying to load multiple scenes 
-These will all have different camera rigs and likely cause issues. if you want to try our samples as-given then use one scene at a time.
-It's worth noting that unity only loads one scene at a time if multiple are selected, so you'd need to de-select one and/or try to load scenes at runtime with your own code for that.
4) Occlusion on one eye - this can happen for a variety of reasons, including you being too close to the UI. There was not enough detail to tell what was being referred to.

Link to comment
Share on other sites

  • 1 month later...
On 11/1/2023 at 9:43 PM, Alex_HTC said:

@ruiying
Which problem above? Here are some of the problems/solutions suggested
1) signing issue with creating an apk
This appears to be an issue with the way that unity looks for the keystore file. A user reported that deleting that file allowed it to work again. This seems to be an issue with unity that can be resolved by deleting (or moving) the "D:\Android\Home\.android\debug.keystore" file, so it can create one that it recognizes it. I linked to a few threads that point this out
2) Confusion about sdk and/or input
try building against a known-good branch like the openxr_hand_tracking branch here https://github.com/ViveDeveloperRelations/MinimalRepo/tree/openxr_hand_tracking
3)Trying to load multiple scenes 
-These will all have different camera rigs and likely cause issues. if you want to try our samples as-given then use one scene at a time.
-It's worth noting that unity only loads one scene at a time if multiple are selected, so you'd need to de-select one and/or try to load scenes at runtime with your own code for that.
4) Occlusion on one eye - this can happen for a variety of reasons, including you being too close to the UI. There was not enough detail to tell what was being referred to.

Thanks for your detailed reply Alex

I was referring to eddylai's last post talking about eye swap. But my issue looks more like wrong eye separation. I tried the general XRRig and VIVE’s VRSRig.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...