Skip to main content

Android SDK FAQs

This page contains frequently asked questions about the HyperKYC Android SDK, covering common issues, permissions, compatibility, and troubleshooting.

1. What permissions does the SDK require, and how does it comply with Play Store policies?

For detailed information about SDK permissions, see our SDK Permissions page.

The SDK requests only the minimum permissions required for verification workflows:

  • Camera : for face and document capture
  • Microphone : for video verification workflows
  • Location (optional) : only if enabled via setUseLocation(true)
  • NFC (optional) : only if NFC workflows are used

Play Store compliance: All permissions are declared with clear usage descriptions. Optional permissions like microphone, location, and NFC should only be included if your workflow actually needs them. If you don't need a specific permission, you can remove it from your AndroidManifest.xml.

Example for removing microphone if not used:

xml
<uses-permission android:name="android.permission.RECORD_AUDIO"
tools:node="remove" />

2. Does the SDK support targetSdkVersion 35 (Android 15)?

Yes. Starting from HyperKYC SDK version 2.x.x:

  • 16KB page size support (mandatory for Android 15)
  • Edge-to-edge display support
  • No breaking changes for clients targeting SDK 35

If you are targeting Android 15 (targetSdkVersion 35), please update to version 2.x.x or above.

3. Why do I see an "Intent Redirection" security warning in Play Console?

This issue was present in HyperKYC version 0.30.1 and below in the HKBrowserActivity.handleAuthComplete and HKBrowserActivity.setError methods. Google Play flags this as an Intent Redirection vulnerability with a deadline of December 28, 2024.

Solution: Upgrade to HyperKYC version 0.30.2 or above. There is no workaround. Updating is the only fix.

4. Why do I see a Kotlin incompatibility warning (removeFirst(), removeLast())?

Older SDK versions (below 2.0.0) used Kotlin's removeFirst() and removeLast() functions, which conflict with Java functions in Android 15 and can cause crashes on Android 14 or lower.

Solution: Upgrade to HyperKYC version 2.0.0 or above, where this issue is resolved.

5. My app crashes with "ClassNotFoundException: io.sentry.android.core.SentryPerformanceProvider" when using your SDK. How do I fix this?

This crash occurs when Sentry classes are only available in a Dynamic Feature Module (DFM) but the Sentry ContentProvider is declared in your main app's manifest. Android tries to initialize all ContentProviders at startup, but can't find the Sentry classes in the base APK. Solution: Remove the Sentry ContentProvider declarations from your AndroidManifest.xml by adding these lines:

xml
<!-- In your app's AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application>
<!-- Explicitly remove Sentry providers -->
<provider
android:name="io.sentry.android.core.SentryPerformanceProvider"
tools:node="remove" />

<provider
android:name="io.sentry.android.core.SentryInitProvider"
tools:node="remove" />
</application>
</manifest>

This prevents the crash because:

It removes the ContentProvider declarations that cause startup failures Our SDK initializes Sentry manually, so automatic initialization isn't needed This works regardless of whether you're using Dynamic Feature Modules or not Note: This solution is safe to use as our SDK handles Sentry initialization internally

Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: