2017-12-28 20 views
0

Android API 24 또는 26 이미지 레벨에 대해 Windows 10에서 반응 기본 0.50으로 Android 앱을 디버깅하려고합니다. 아래에서 문제 해결. Android API 24 이상을 사용하는 새로운 보안 정책이있는 것처럼 보이지만 React Native .50 디버그 인프라는이를 수용 할 수 없습니다. Android 측 React Native Java 라이브러리가 nodejs bridge에 대한 연결을 설정하려고하면 오류가 발생합니다. 해결 방법은 같은 응용 프로그램은 API (21) 또는 (22)RN 0.50이 Android API 24 이상에서 nodejs 디버그 브리지에 연결할 수 없습니다.

에서 실행 아무 문제가 없습니다

있습니까?

E/StrictMode: 0x00000000 45 00 00 9E C9 00 40 00 40 06 BC AC C0 A8 E8 02 [email protected]@....... 
                   0x00000010 0A 00 02 02 BF 97 1F 91 D1 9E F9 A9 03 F1 C4 02 ................ 
                   0x00000020 50 18 FF FF 1E F2 00 00 47 45 54 20 2F 73 74 61 P.......GET./sta 
                   0x00000030 74 75 73 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F tus.HTTP/1.1..Ho 
                   0x00000040 73 74 3A 20 31 30 2E 30 2E 32 2E 32 3A 38 30 38 st:.10.0.2.2:808 
                   0x00000050 31 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 1..Connection:.K 
                   0x00000060 65 65 70 2D 41 6C 69 76 65 0D 0A 41 63 63 65 70 eep-Alive..Accep 
                   0x00000070 74 2D 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 t-Encoding:.gzip 
                   0x00000080 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A 20 6F 6B ..User-Agent:.ok 
                   0x00000090 68 74 74 70 2F 33 2E 38 2E 31 0D 0A 0D 0A  http/3.8.1.... 
                   java.lang.Throwable: Detected cleartext network traffic from UID 10084 to /10.0.2.2 
                    at android.os.StrictMode.onCleartextNetworkDetected(StrictMode.java:1833) 
                    at android.app.ActivityThread$ApplicationThread.notifyCleartextNetwork(ActivityThread.java:1307) 
                    at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:710) 
                    at android.os.Binder.execTransact(Binder.java:565) 
12-27 20:43:56.346 4299-4311/com.sample1app.develop W/System.err: StrictMode VmPolicy violation with POLICY_DEATH; shutting down. 
12-27 20:43:56.347 4299-4311/com.sample1app.develop W/System.err: Trapped StrictMode shutdown notice: logging heap data 

답변

0

내 잘못입니다. 디버그 모드에서 API 수준이 24 이상인 동안 명확한 텍스트 트래픽에서 오류로 VM 정책을 명시 적으로 설정했습니다.

private void initStrictMode() { 
    if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && !TestUtil.areEspressoTestsRunning()) 
    { 
     StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 
       .detectResourceMismatches() 
       .penaltyLog() 
       .build()); 
     StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 
       .detectActivityLeaks() 
       .detectCleartextNetwork() 
       .detectFileUriExposure() 
       .detectLeakedClosableObjects() 
       .detectLeakedRegistrationObjects() 
       .detectLeakedSqlLiteObjects() 
       .penaltyLog() 
       .**penaltyDeathOnCleartextNetwork()** 
       .penaltyDeathOnFileUriExposure() 
       .build()); 
    } 
}