2018년 4월 11일 수요일

{00000003} 안드로이드 SDK 버전 변경하며 닥친 문제점 2가지

일본 출장 지원으로 후임과 똥줄타며 디버깅한 30분의 기록
(시료가 최신폰이 없어서 6.0 이상 지원이 안되어 구버전에서는 잘됨, 확인 없이 마켓 업로드 될 수 밖에 없던 상황) -> 뭐 더 신경쓰면 되겠지만 애사심의 문제일 수도... (그러나 그 시료도 개인돈으로 산 폰이라는...)

우선 런타임 권한 획득 문제 발생... 앱 시작전 onCreate에

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
           requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE"},   1);
       }


넣어주고 해결... 워낙 급한지라 onCreate이용해서 걍 땜빵함

그 다음 libcypto.so 를 찾을 수 없다거나 열 수 없다는 문제.


       StringBuilder strblibpath = new StringBuilder(128);
       String strlibpath;
       strblibpath.append("/data/data/");
       strblibpath.append(getPackageName());
       strblibpath.append("/lib/lib");
       strblibpath.append("crypto");
       strblibpath.append(".so");
       strlibpath = strblibpath.toString();
       try {
           System.load(strlibpath);
       }
       catch(java.lang.UnsatisfiedLinkError ex){
           ex.printStackTrace();
       }


컴파일된 arm eabi 용 libcypto.so 는 아래 링크에서 받음.

https://github.com/emileb/OpenSSL-for-Android-Prebuilt/tree/master/openssl-1.0.2/armeabi-v7a/lib

으로 해결하니 이런 문제가...

https://support.google.com/faqs/answer/6376725

5시간을 기다려야함 ㅠㅠ

Hello Google Play Developer,
We rejected Previewty, with package name net.morpheus3d.shopandroid, for violating our Malicious Behavior or User Data policy. If you submitted an update, the previous version of your app is still available on Google Play.
This app uses software that contains security vulnerabilities for users or allows the collection of user data without proper disclosure.
Below is the list of issues and the corresponding APK versions that were detected in your recent submission. Please upgrade your app(s) as soon as possible and increment the version number of the upgraded APK.
VulnerabilityAPK Version(s)Past Due Date
OpenSSLThe vulnerabilities were addressed in OpenSSL 1.02f/1.01r. To confirm your OpenSSL version, you can do a grep search for:
\$ unzip -p YourApp.apk | strings | grep "OpenSSL"
You can find more information and next steps in this Google Help Center article.
34July 13, 2016
To confirm you’ve upgraded correctly, submit the updated version of your app to the Play Console and check back after five hours to make sure the warning is gone.
While these vulnerabilities may not affect every app that uses this software, it’s best to stay up to date on all security patches. Make sure to update any libraries in your app that have known security issues, even if you're not sure the issues are relevant to your app.
Apps must also comply with the Developer Distribution Agreement and Developer Program Policies.
If you feel we have made this determination in error, please reach out to our developer support team.
Best,
The Google Play Team

https://github.com/ph4r05/android-openssl/blob/master/jni/openssl/arch-armeabi-v7a/lib/libcrypto.so/

다시 받음



안드로이드는 iOS와 달리 워낙 공개된 자료가 많아서 문제 해결이 용이하다.

그래도 iOS 개발이 편한 것은 아이러니.

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

bootcamp 지우기

맥북 프로 레티나 터치바 diskutility 에서 bootcamp 파티션 삭제하면 검은색에서 회색으로 바뀐다(APFS로 지정) 파틴션 아이콘 클릭하여 - 버튼을 이용하여 삭제하면 끝.