안녕하세요, 항상 많은 도움 얻고 있습니다.

안펍분들 모두 새해 복 많이 받으세요!


현재 마켓에 퍼블리시되어 있는 안드로이드 앱 개선 중,

아래와 같이 세 가지 이슈 해결이 여의치 않아 이렇게 의뢰드리게 되었습니다.


이 중 3) 이슈는 코드로 해결 가능한 문제인지 확신이 안 드는 상태라, 3) 이슈는 제하고 말씀 주셔도 괜찮습니다.

그럼 하기사항 검토하시고 메일 주시면, 최대한 빨리 확인하여 회신 드리겠습니다!

메일주소: thingwithgrace@gmail.com


- 웹뷰 개선 의뢰 내용 3가지:

1) 웹뷰 내에서 alert 동작하지 않는 문제

2) (INTENT 관련 코딩을 통해 웹뷰 -> 카카오톡 전환은 잘 되게 하였으나,)

market:// 링크, 즉 웹뷰 -> 구글 플레이 로의 전환이 안되고 있는 문제

3) /system/lib/libc.so에서 비정상 종료 문제 (tgkill)


- 의뢰 내용 상세:

1) 웹뷰 내에서 alert 동작하지 않는 문제

■다음과 같은 블로그를 참고하여 ( https://goo.gl/AQkjqn )

 mWebView.setWebChromeClient(new WebChromeClient());

 mWebView.setWebViewClient(new WebViewClient());

위 두 줄 코드를 추가해 봤더니, alert는 잘 동작했지만, 웹뷰 -> 카카오톡 전환이 갑자기 안되는 크리티컬한 문제 발생

■결론적으로 기존 웹뷰의 기능성(카카오링크 포함)을 해치지 않으면서 & alert 잘 동작하도록 코드 개선 필요


2) 웹뷰 -> 구글 플레이 로의 전환이 안되는 문제 (ERR_UNKNOWN_URL_CHEME 오류 발생)

■블로그 글들 참고하여 아래와 같은 식으로 풀어보려 했으나, 결국 잘 안되어 의뢰 드립니다.

public static final String GOOGLE_PLAY_STORE_PREFIX = "market://details?id=";

...

final String packageName = url.substring(packageStartIndex, packageEndIndex < 0 ? url.length() : packageEndIndex);

getBaseContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(GOOGLE_PLAY_STORE_PREFIX + packageName)));

...


3) 비정상 종료 문제 - 발생률 0.1% 이내

Samsung Galaxy A5(a5ultektt), 2048MB RAM, Android 6.0

backtrace:

  #00  pc 0000000000044310  /system/lib/libc.so (tgkill+12)

  #01  pc 0000000000041f11  /system/lib/libc.so (pthread_kill+32)

  #02  pc 000000000001ba13  /system/lib/libc.so (raise+10)

  #03  pc 0000000000018c81  /system/lib/libc.so (__libc_android_abort+34)

  #04  pc 0000000000016840  /system/lib/libc.so (abort+4)

  #05  pc 00000000002a1ab1  /data/app/com.google.android.webview-1/lib/arm/libwebviewchromium.so


- 대상 앱 설명:

기 구축된 모바일웹 그대로, 앱 웹뷰를 통해 보여주도록 개발된 하이브리드 앱입니다. (전체 코드 100줄 내외)

(크롬, safari와 같은 내장 모바일 브라우저에서 접속한 것과 동일하게 동작하기만 하면 되는)

웹뷰 껍데기 외 네이티브적인 부분을 활용한 개발은 없는 기본적인 앱입니다.