안녕하세요, 항상 많은 도움 얻고 있습니다.
안펍분들 모두 새해 복 많이 받으세요!
현재 마켓에 퍼블리시되어 있는 안드로이드 앱 개선 중,
아래와 같이 세 가지 이슈 해결이 여의치 않아 이렇게 의뢰드리게 되었습니다.
이 중 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와 같은 내장 모바일 브라우저에서 접속한 것과 동일하게 동작하기만 하면 되는)
웹뷰 껍데기 외 네이티브적인 부분을 활용한 개발은 없는 기본적인 앱입니다.