반응형

대충 이런 오류일 때 

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 이 뭔지 모른다고 떠요?

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

 

깔아보셔요~!

 

반응형
반응형

대충 아래와 같은 오류를 만났을 때,,

lovapi@lovapis-Mac-mini ~ % sudo gem install cocoapods

Building native extensions. This could take a while...

ERROR:  Error installing cocoapods:

ERROR: Failed to build gem native extension.

 

    current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/ext/ffi_c

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20210225-19559-1cs3w9s.rb extconf.rb

checking for ffi.h... *** extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of necessary

libraries and/or headers.  Check the mkmf.log file for more details.  You may

need configuration options.

 

Provided configuration options:

--with-opt-dir

--without-opt-dir

--with-opt-include

--without-opt-include=${opt-dir}/include

--with-opt-lib

--without-opt-lib=${opt-dir}/lib

--with-make-prog

--without-make-prog

--srcdir=.

--curdir

--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)

--with-ffi_c-dir

--without-ffi_c-dir

--with-ffi_c-include

--without-ffi_c-include=${ffi_c-dir}/include

--with-ffi_c-lib

--without-ffi_c-lib=${ffi_c-dir}/lib

--enable-system-libffi

--disable-system-libffi

--with-libffi-config

--without-libffi-config

--with-pkg-config

--without-pkg-config

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)

You have to install development tools first.

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:534:in `with_werror'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1109:in `block in have_header'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in `postpone'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for'

from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1108:in `have_header'

from extconf.rb:10:in `system_libffi_usable?'

from extconf.rb:42:in `<main>'

 

To see why this extension failed to compile, please check the mkmf.log which can be found here:

 

  /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.14.2/mkmf.log

 

extconf failed, exit code 1

 

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2 for inspection.

Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.14.2/gem_make.out

대충 로그 파일을 보면...

 

요모양인데... 

package configuration for libffi is not found

"xcrun clang -o conftest -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin19 -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/backward -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS conftest.c  -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib -L. -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.Internal.sdk/usr/local/lib   -arch x86_64   -lruby.2.6   "

In file included from conftest.c:1:

In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found

#include "ruby/config.h"

         ^~~~~~~~~~~~~~~

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: note: did not find header 'config.h' in framework 'ruby' (loaded from '/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks')

1 error generated.

checked program was:

/* begin */

1: #include "ruby.h"

2:

3: int main(int argc, char **argv)

4: {

5:   return 0;

6: }

/* end */

 

어떻게 해결하냐면...

 

저 모듈을 깔거나... (하지만 또 다른데서 오류가 날 수 도 있으니까...)

 

아몰랑 루비 업뎃 ㄱㄱ! (이게 빠른 방법 되시겠다)

 

lovapi@lovapis-Mac-mini ~ % curl -L https://get.rvm.io | bash -s stable
lovapi@lovapis-Mac-mini ~ % source /Users/lovapi/.rvm/scripts/rvm     #(주황색은 본인 아이디로 치환)
lovapi@lovapis-Mac-mini ~ % rvm install ruby-2.7.2
lovapi@lovapis-Mac-mini ~ % sudo gem install cocoapods

조금 오래 걸리지만..

 

끝!

 

반응형
반응형

대충 아래와 같은 오류를 만났을 때,,

lovapi@lovapis-Mac-mini ios % pod install

Analyzing dependencies

Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`

Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`

Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`

Downloading dependencies

Installing CocoaAsyncSocket (7.6.5)

Installing DoubleConversion (1.1.6)

Installing FBLazyVector (0.63.4)

Installing FBReactNativeSpec (0.63.4)

Installing Flipper (0.54.0)

Installing Flipper-DoubleConversion (1.1.7)

Installing Flipper-Folly (2.5.1)

Installing Flipper-Glog (0.3.6)

[!] /bin/bash -c 

set -e

#!/bin/bash

# Copyright (c) Facebook, Inc. and its affiliates.

#

# This source code is licensed under the MIT license found in the

# LICENSE file in the root directory of this source tree.

 

set -e

 

PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}"

CURRENT_ARCH="${CURRENT_ARCH}"

 

if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then

    # Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg.

    # it's better to rely on platform name as fallback because architecture differs between simulator and device

 

    if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then

        CURRENT_ARCH="x86_64"

    else

        CURRENT_ARCH="armv7"

    fi

fi

 

export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"

export CXX="$CC"

 

# Remove automake symlink if it exists

if [ -h "test-driver" ]; then

    rm test-driver

fi

 

./configure --host arm-apple-darwin

 

# Fix build for tvOS

cat << EOF >> src/config.h

/* Add in so we have Apple Target Conditionals */

#ifdef __APPLE__

#include <TargetConditionals.h>

#include <Availability.h>

#endif

/* Special configuration for AppleTVOS */

#if TARGET_OS_TV

#undef HAVE_SYSCALL_H

#undef HAVE_SYS_SYSCALL_H

#undef OS_MACOSX

#endif

/* Special configuration for ucontext */

#undef HAVE_UCONTEXT_H

#undef PC_FROM_UCONTEXT

#if defined(__x86_64__)

#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip

#elif defined(__i386__)

#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip

#endif

EOF

 

# Prepare exported header include

EXPORTED_INCLUDE_DIR="exported/glog"

mkdir -p exported/glog

cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/"

cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/"

cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/"

cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/"

cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/"

 

checking for a BSD-compatible install... /usr/local/bin/ginstall -c

checking whether build environment is sane... yes

checking for arm-apple-darwin-strip... no

checking for strip... strip

checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p

checking for gawk... no

checking for mawk... no

checking for nawk... no

checking for awk... awk

checking whether make sets $(MAKE)... yes

checking whether make supports nested variables... yes

checking for arm-apple-darwin-gcc... /Library/Developer/CommandLineTools/usr/bin/cc -arch armv7 -isysroot 

checking whether the C compiler works... no

xcrun: error: SDK "iphoneos" cannot be located

xcrun: error: SDK "iphoneos" cannot be located

xcrun: error: SDK "iphoneos" cannot be located

xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos'

/Users/lovapi/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6/missing: Unknown `--is-lightweight' option

Try `/Users/lovapi/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6/missing --help' for more information

configure: WARNING: 'missing' script is too old or missing

configure: error: in `/Users/lovapi/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6':

configure: error: C compiler cannot create executables

See `config.log' for more details

 

 

요로케 

lovapi@lovapis-Mac-mini ios % sudo xcode-select --switch /Applications/Xcode.app
lovapi@lovapis-Mac-mini ios % pod install

반응형
반응형
const AppNavigator = createStackNavigator(
{
	Home: HomeScreen,
	Details: DetailsScreen
},
{
	headerMode: 'none',  // <-- 여기
	initialRouteName: 'Home',
}
);
반응형
반응형

1.

# adb uninstall package-name

ex) adb uninstall com.tistory.lovapi.rn

 

2. 디바이스나 에뮬레이터에서 해당 앱이 보이면 삭제 

 

3. ~/android 폴더 이동 후  아래 구문 실행

# ./gradlew clean

 

4. 열린창 다 닫아주고 아래 구문 실행 

# npm run android

 

 

반응형
반응형

#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
반응형

iOS 4까지는 아래의 코드로 호출 된 경우 아무 문제없이 동작합니다.

-(IBAtion) callPhotoAlbum
{
  [self callPickerContoller:self delegate:self];
}

-(BOOL) callPickerController:(UIViewControler*)c delegate:(id<UIImagePickerControllerDelegate, UINavigationControllerDelegate>) d
{
  UIImagePickerController* picker = [[UIImagePickerController alloc]init];
  picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotoAlbum];
  picker.delegate = d;
  [c presentModalViewController:picker animate:YES];
  return YES;
}

- (void) imagePickerController: (UIImagePicekrController*) picker didFinishPickingMediaWithInfo:(NSDictionary*) info
{
   // TODO Something...
  [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

iOS 5에서는 위 코드로 호출은 가능하나 사진선택 모달뷰가 dismiss되지 않습니다.
ARC와 관련이 있는것인가? 라고 생각해 봤지만, 글쎄요...
혹시나 해서 picker를 전역변수로 빼서 동기화해서 사용해보았지만 그래도 되지 않습니다.

여러가지 방법으로 테스트와 디버깅 분석 해본결과
다른 메서드로 핸들(self)을 넘겨줄 때 잃어버리는 것 같습니다.

따라서 아래와 같이 변경하시면 동작합니다.

-(IBAtion) callPhotoAlbum
{
  [self callPickerContoller];
}

-(BOOL) callPickerController
{
  UIImagePickerController* picker = [[UIImagePickerController alloc]init];
  picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotoAlbum];
  picker.delegate = self;
  [self presentModalViewController:picker animate:YES];
  return YES;
}

- (void) imagePickerController: (UIImagePicekrController*) picker didFinishPickingMediaWithInfo:(NSDictionary*) info
{
  // TODO Something...
  [self dismissModalViewControllerAnimated:YES];
}

핸들을 잃는다...
MFC에서 특정 이벤트에서 가끔 보던 증상이네요
물론 MFC야 핸들을 직접 찾아 넘겨주거나 theApp를 전역화 해서 사용하는 꼼수들을 부렸지만(c/c++의 범위니 꼼수도 능력일지도)
self자체를 넘겨줌에도 불구하고 잃어버리게 되는군요. 추후 수정이 될지 모르니 위와같은 방식을 이용하셔야 할 것 같습니다.
흠... 다른 프레임웤에서 잃어버린 10년을 되찾은 느낌이군요.

도움이 되셨길 빕니다.
반응형

+ Recent posts