이번 포스팅은 Android Build 오류에 대하여 알아보도록 하겠습니다.
Intent 형태로 데이터를 전달받을 시 아래와 같은 오류가 발생하였습니다.
< Error >
java.net.URISyntaxException: Illegal character in query at index 50: androidData://androidScheme?requestCode=8&userAgent=function trim() { [native code] }&data=VEMgU2FtcGxlIFRleHQg7JuQ66y4IOuplOyLnOyngOyeheuLiOuLpC4=
W/System.err: at java.net.URI$Parser.fail(URI.java:2892)
W/System.err: at java.net.URI$Parser.checkChars(URI.java:3065)
W/System.err: at java.net.URI$Parser.parseHierarchical(URI.java:3155)W/System.err: at java.net.URI$Parser.parse(URI.java:3097)
W/System.err: at java.net.URI.<init>(URI.java:583)
W/System.err: at com.android.sample.h2a.shared.UniScheme.getA2UAllParams(UniScheme.java:58)
W/System.err: at com.android.sample.h2a.shared.HybridAdapter.callUnisignByUri(HybridAdapter.java:74)
W/System.err: at com.android.sample.h2a.MainActivity$UniSignWebViewClient.shouldOverrideUrlLoading(MainActivity.java:119)
W/System.err: at android.webkit.WebViewClient.shouldOverrideUrlLoading(WebViewClient.java:77)
W/System.err: at aLy.a(PG:1)
W/System.err: at sV.a(PG:21)
W/System.err: at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(PG:160)
W/System.err: at android.os.MessageQueue.nativePollOnce(Native Method)
W/System.err: at android.os.MessageQueue.next(MessageQueue.java:326)
W/System.err: at android.os.Looper.loop(Looper.java:181)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7037)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
< Solution >
Intent 로 데이터를 전달받을 시 공백이 문제가 되어 오류가 발생하였습니다.
전달받은 데이터를 Base64 인코딩하여 전달을 받거나 아래와 같이 변경하여 전달받으실 수 있습니다.
url.replaceAll(" " , "%20");