Skip to content

java.lang.StringIndexOutOfBoundsException: begin 0, end -3, length 0 #1296

@yunusemreozturk

Description

@yunusemreozturk

Describe the bug

I am getting error when run validateSDKIntegration function in Android.

Error Logs
D/BranchSDK_Doctor(15601): ------------------- Initiating Branch integration verification --------------------------- ... 
D/BranchSDK_Doctor(15601): 1. Verifying Branch instance creation ... 
D/BranchSDK_Doctor(15601): Passed
D/BranchSDK_Doctor(15601): 2. Checking Branch keys ... 
D/BranchSDK_Doctor(15601): Passed
D/BranchSDK_Doctor(15601): 3. Verifying application package name ... 
D/BranchSDK_Doctor(15601): Passed
D/AndroidRuntime(15601): Shutting down VM
E/AndroidRuntime(15601): FATAL EXCEPTION: main
E/AndroidRuntime(15601): Process: com.test.app, PID: 15601
E/AndroidRuntime(15601): java.lang.StringIndexOutOfBoundsException: begin 0, end -3, length 0
E/AndroidRuntime(15601):        at java.lang.String.checkBoundsBeginEnd(String.java:4519)
E/AndroidRuntime(15601):        at java.lang.String.substring(String.java:2537)
E/AndroidRuntime(15601):        at io.branch.referral.validators.URISchemeCheck.RunTests(URISchemeCheck.java:39)
E/AndroidRuntime(15601):        at io.branch.referral.validators.IntegrationValidator.doValidateWithAppConfig(IntegrationValidator.java:85)
E/AndroidRuntime(15601):        at io.branch.referral.validators.IntegrationValidator.onAppConfigAvailable(IntegrationValidator.java:127)
E/AndroidRuntime(15601):        at io.branch.referral.validators.ServerRequestGetAppConfig.onRequestSucceeded(ServerRequestGetAppConfig.java:28)
E/AndroidRuntime(15601):        at io.branch.referral.ServerRequestQueue$BranchPostTask.onRequestSuccess(ServerRequestQueue.java:678)
E/AndroidRuntime(15601):        at io.branch.referral.ServerRequestQueue$BranchPostTask.onPostExecuteInner(ServerRequestQueue.java:588)
E/AndroidRuntime(15601):        at io.branch.referral.ServerRequestQueue$BranchPostTask.onPostExecute(ServerRequestQueue.java:573)
E/AndroidRuntime(15601):        at io.branch.referral.ServerRequestQueue$BranchPostTask.onPostExecute(ServerRequestQueue.java:521)
E/AndroidRuntime(15601):        at android.os.AsyncTask.finish(AsyncTask.java:771)
E/AndroidRuntime(15601):        at android.os.AsyncTask.-$$Nest$mfinish(Unknown Source:0)
E/AndroidRuntime(15601):        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788)
E/AndroidRuntime(15601):        at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(15601):        at android.os.Looper.loopOnce(Looper.java:249)
E/AndroidRuntime(15601):        at android.os.Looper.loop(Looper.java:337)
E/AndroidRuntime(15601):        at android.app.ActivityThread.main(ActivityThread.java:9593)
E/AndroidRuntime(15601):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(15601):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
E/AndroidRuntime(15601):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
W/m.test.app(15601): type=1400 audit(0.0:88311): avc:  denied  { search } for  name="miuilog" dev="dm-62" ino=531 scontext=u:r:untrusted_app:s0:c190,c260,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.test.app
W/m.test.app(15601): type=1400 audit(0.0:88312): avc:  denied  { search } for  name="miuilog" dev="dm-62" ino=531 scontext=u:r:untrusted_app:s0:c190,c260,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.test.app
W/m.test.app(15601): type=1400 audit(0.0:88313): avc:  denied  { search } for  name="miuilog" dev="dm-62" ino=531 scontext=u:r:untrusted_app:s0:c190,c260,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.test.app
W/m.yeapptest.app(15601): type=1400 audit(0.0:88314): avc:  denied  { search } for  name="miuilog" dev="dm-62" ino=531 scontext=u:r:untrusted_app:s0:c190,c260,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.test.app
W/m.test.app(15601): type=1400 audit(0.0:88315): avc:  denied  { search } for  name="miuilog" dev="dm-62" ino=531 scontext=u:r:untrusted_app:s0:c190,c260,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.test.app
W/ScoutUtils(15601): Failed to mkdir /data/miuilog/stability/hprof/
I/Process (15601): Process is going to kill itself!
I/Process (15601): java.lang.Exception
I/Process (15601):      at android.os.Process.killProcess(Process.java:1495)
I/Process (15601):      at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:193)
I/Process (15601):      at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:63)
I/Process (15601):      at org.chromium.base.JavaExceptionReporter.uncaughtException(chromium-TrichromeWebViewGoogle6432.aab-stable-720417933:32)
I/Process (15601):      at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1071)
I/Process (15601):      at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1066)
I/Process (15601):      at java.lang.Thread.dispatchUncaughtException(Thread.java:2442)
I/Process (15601): Sending signal. PID: 15601 SIG: 9
I/libc    (15601): kill: send 9 to pid 15601
Lost connection to device.

Steps to reproduce

  1. run the app in Android
  2. after the init function run the validateSDKIntegration function

Expected behavior

Successfully run the validateSDKIntegration function

SDK Version

8.2.0

Make and Model

Xioami note 12, Samsung A25

OS

15

Additional Information/Context

Flutter version: 3.29.3

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions