반응형

대충 이런 오류일 때 

error Failed to install the app. Please accept all necessary Android SDK licenses using Android SDK Manager: "$ANDROID_HOME/tools/bin/sdkmanager --licenses". Run CLI with --verbose flag for more details.

또는

error Failed to install the app. Please accept all necessary Android SDK licenses using Android SDK Manager: "$ANDROID_HOME/tools/bin/sdkmanager.bat --licenses". Run CLI with --verbose flag for more details.

설치 과정에서 약관 동의를 안해서 그러시겠다.

 

그럴 땐 이렇게...

 

- 리눅/맥

 lovapi@lovapis-Mac-mini ios % yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses

 - 윈도우

시작 -> 실행  또는 (윈도우키 + R)
cmd
.exe /C"%ANDROID_HOME%\tools\bin\sdkmanager.bat --licenses"   (엔터!)

 

$ANDROID_HOME 이 뭔지 모른다고 떠요?

에이~ 그럼 안드로이드 스튜디오 안깔린거에여~

 

깔아보셔요~!

 

반응형
반응형

#1 팝업으로 뜬 창이 최대화면이 되지 않으므로 현재 웹뷰의 레이아웃파라미터를 설정

#2 window.close, windows.opener 등의 스크립트가 먹지 않는 경우이므로 해당 스크립트를 본문에서 찾으면 팝업을 닫고 원래 웹뷰를 재로드(필요하다면 loadurl로 다른 페이지 호출 가능)

            @Override
            public boolean onCreateWindow(final WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
                
                WebView newWebView = new WebView(context);
                newWebView.getSettings().setJavaScriptEnabled(true);
                newWebView.getSettings().setSupportMultipleWindows(false);
                newWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
                newWebView.getSettings().setLoadWithOverviewMode(true);

                android.view.ViewGroup.LayoutParams lp = view.getLayoutParams();   // #1
                newWebView.setLayoutParams(lp);

                view.addView(newWebView);
                WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
                transport.setWebView(newWebView);
                resultMsg.sendToTarget();

                newWebView.setWebViewClient(new WebViewClient() {

                    // #2 6.0 브라우저들이 window.close, window.opener 등이 먹히질 않을때가 있음 강제로 재로드 할 것
                    @Override
                    public void onPageFinished(WebView _view, String url) {
                        super.onPageFinished(_view, url);
                        _view.evaluateJavascript("(function() { return \"<html>\" + document.getElementsByTagName('html')[0].innerHTML + \"</html>\";})()", new ValueCallback<String>() {
                            @Override
                            public void onReceiveValue(String s) {
                                Log.i("HTMLOUT" , s);
                                if( s.toLowerCase().contains("window.close();window.opener.location.reload()")) {
                                    Log.i("HTMLOUT" , "브라우저 현재 닫기");
                                    view.reload();
                                    view.removeView(_view);
                                }
                            }
                        });
                    }

                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        //Log.i("TAG","onCreateWindow shouldOverrideUrlLoading"+url);
                        view.loadUrl(url);
                        return true;
                    }

                });

                return true;

            }
반응형

'Mobile > Android Studio(Android)' 카테고리의 다른 글

sdkmanager --licenses / sdkmanager.bat --licenses  (0) 2021.02.25

+ Recent posts