React-native: [рдПрдВрдбреНрд░реЙрдЗрдб] рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдЬреЛрдбрд╝реА рдЧрдИ рдЕрдкреНрд░рдпреБрдХреНрдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдлрд╝рд░ре░ 2016  ┬╖  73рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/react-native

_рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП https://medium.com/@applification/fixing -react-native-android-permissions-9e78996e9865 рджреЗрдЦреЗрдВ -@hramos_

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рд╣рд░реА рднрдВрдбрд╛рд░рдг рдкрдврд╝реЗрдВ/рд▓рд┐рдЦреЗрдВ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреАрдХреЗ рдмрдирд╛рдиреЗ рдкрд░ рдлреЛрди рд░рд╛рдЬреНрдп рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдореИрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИрдВред рдХреНрдпрд╛ рдпреЗ рд╕рднреА рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдПрдВрдбреНрд░реЙрдЗрдб рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ? рдХреНрдпрд╛ рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдПрдВрдбреНрд░реЙрдЗрдб: рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐#android.permission.READ_EXTERNAL_STORAGE
рдПрдВрдбреНрд░реЙрдЗрдб: рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐#android.permission.WRITE_EXTERNAL_STORAGE

рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдкреНрд▓реЗ рд╕реНрдЯреЛрд░ рд╕реЗ рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

AsyncStorage Android Ran Commands Locked Discussion

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ рднреБрд▓рдирд╛рдЯрд┐рдХ рдПрдВрдбреНрд░реЙрдЗрдб-рдЬреЗрдПрд╕рд╕реА рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ рд╣рдо рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рд╣рдорд╛рд░реЗ рдРрдкреНрд╕ рдХреЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ:

<uses-permission
  android:name="android.permission.READ_PHONE_STATE"
  tools:node="remove"/>

рд╕рднреА 73 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣реЗ рд▓реНрдпреВрд╕рд┐рдбреНрд░реЗрдиреНрд╕, рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╢рд╛рдпрдж рд╕реБрдирд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕рдЪреНрдЪрд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрднрд┐рднреВрдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдареАрдХ рд╕реЗ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореБрджреНрджреЗ рд╣реИрдВред

  • рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреБрдЫ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ , рддреЛ рдХреГрдкрдпрд╛ StackOverflow рдкрд░ react-native рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдкреВрдЫреЗрдВ рдпрд╛ рдЕрдзрд┐рдХ рд░реАрдпрд▓ рдЯрд╛рдЗрдо рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдХреЙрд░реНрдб рдкрд░ рдкреВрдЫреЗрдВ #рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдЪреИрдирд▓ред
  • рдпрджрд┐ рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдпрд╛ рдмрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрддреНрдкрд╛рдж рджрд░реНрдж рдкрд░ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рдЗрд╕рдореЗрдВ рдПрдХ рд░реИрдВрдХрд┐рдВрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рджреЗрддреА рд╣реИред
  • рд╣рдо рд╕реНрдкрд╖реНрдЯ рдореБрджреНрджреЛрдВ рдФрд░ рдкреАрдЖрд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЧрд╣рди рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдХреГрдкрдпрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рдФрд░ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдпрджрд┐ рдЖрдкрдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ AndroidManifest.xml рд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпреЗ AsyncStorage ред

рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ/рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЬрдЧрд╣ рд╣реИ: StackOverflow ред рдпрд╣ рдкреНрд░рд╢реНрдиреЛрддреНрддрд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдкреНрд░рдгрд╛рд▓реА рд╣реИред рд╕рдореБрджрд╛рдп рдХреЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╡рд╣рд╛рдВ рдореМрдЬ-рдорд╕реНрддреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХреЛ рджреЗрдЦ рдФрд░ рдЙрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХреЗрдВрдЧреЗред рдпрд╣ рд╣рдореЗрдВ рдмрдЧ рдХреЗ рд▓рд┐рдП рдЬреАрдердм рдмрдЧ рдЯреНрд░реИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЬреАрдердм рдореБрджреНрджреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдЗрддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! :)

@mkonicek рд╡реЗ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдкрд░ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ? рдРрд╕реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ

+1

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ AndroidManifest рдореЗрдВ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддрдм рднреА рд╡реЗ рдмрд┐рд▓реНрдб рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдмрд╕ AsyncStorage рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдирд╛ рд╣реИ?

рдЬрдм рдореИрдВ рд░рд┐рд▓реАрдЬ рдПрдкреАрдХреЗ рдЬреЗрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рднреА рдРрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред

рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрд╕рдиреЗ рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧреА:

  • рддрд╕реНрд╡реАрд░реЗрдВ/рдореАрдбрд┐рдпрд╛/рдлрд╝рд╛рдЗрд▓реЗрдВ
  • рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рдФрд░ рдХреЙрд▓ рдЬрд╛рдирдХрд╛рд░реА

рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдореИрдВрдиреЗ AsyncStorage рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╣реИ

<uses-permission android:name="android.permission.INTERNET" />

рдореЗрд░реЗ AndroidManifest . рдореЗрдВ

@mkonicek @satya164 @bestander рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВрдиреЗ рдереЛрдбрд╝реА рд╕реА рдЦреБрджрд╛рдИ рдХреА, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЙрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдХрд╣рд╛рдБ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рддрдХ рд╣реИрдВ:

<android:uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<android:uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

рдЬреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб 6.+ (рд░рди-рдЯрд╛рдЗрдо рдЕрдиреБрдорддрд┐) рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдиреЗрдЯрдЗрдиреНрдлреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдордЬрдмреВрд░ рдХрд░рдирд╛ рднреА рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рджреЗрдЦреЗрдВ NetInfoModule.java#L38 )ред
рд╡реИрд╕реЗ рднреА рдпрд╣ AsyncStorage рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣реБрдб рдХреЗ рддрд╣рдд SQLite рдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рднрд▓реЗ рд╣реА рдЗрд╕рдиреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реЛ рдЬреИрд╕реЗ SharedPreferences рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рднрдВрдбрд╛рд░рдг, рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП ( рд╕рдВрдЧреНрд░рд╣рдг рд╡рд┐рдХрд▓реНрдк рджреЗрдЦреЗрдВ)ред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ, рдореИрдВрдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрдиреБрдорддрд┐ рдХреЗ рдПрдХ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдПрдкреАрдХреЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣рд╛рдВ рдереЗред рдореИрдВрдиреЗ рд╢реЛрдХреЗрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдРрдк рдХреЛ рднреА рджреЗрдЦрд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдРрдк рдореЗрдВ рд╡реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реИрдВ, рдХреЗрд╡рд▓ рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо READ_PHONE_STATE : рдлреЗрд╕рдмреБрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд░рдмрдВрдзрдХ (рджреЗрдЦреЗрдВ _рдЕрдиреБрдорддрд┐рдпрд╛рдВ: рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ)ред

рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдПрдХ рдЕрдиреБрдорддрд┐ рд╣реИ:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

рддреНрд░реБрдЯрд┐ рд░реЗрдбрдмреЙрдХреНрд╕ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рдпрд╣ рдЕрдиреБрдорддрд┐ (рдЕрдиреНрдп рдРрдкреНрд╕ рдкрд░ рдбреНрд░рд╛ рдХрд░реЗрдВ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ
рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдбрд░рд╛рд╡рдирд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ)ред рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдбреАрдмрдЧ рдФрд░ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореИрдирд┐рдлреЗрд╕реНрдЯ рд╣реИрдВ, рдХреЗрд╡рд▓ рдбреАрдмрдЧ рдореЗрдВ рдЕрдиреБрдорддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)ред

рд▓рдВрдмреА рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рдХрдВрдкрдиреА рд╣рдорд╛рд░реЗ рдирдП рдПрдВрдбреНрд░реЙрдЗрдб рдРрдк рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИ, рдФрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рдХреЗ рд╢рд┐рдк рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рдореБрджрд╛рдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рд╢рд╛рдпрдж рдЧреНрд░реЗрдбрд▓ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ?
рдореБрдЭреЗ рдХреЛрдб рдореЗрдВ READ_PHONE_STATE рд╕рд╛рде рдХреЛрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИред
рдореБрдЭреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рдлреЗрд╕рдмреБрдХ-рдЬреАрдердм-рдмреЙрдЯ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ

рдареАрдХ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд░рд╣реА рд╣реВрдБред

@bestander рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб/

рдореИрдВ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдорд░реНрдЬрд░ рд▓реЙрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ ... рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИ:

IMPLIED from /Users/mayouk/Dev/tmp/AwesomeProject/android/app/src/main/AndroidManifest.xml:1:1-23:12 reason: org.webkit.android_jsc has a targetSdkVersion < 4
android:uses-permission#android.permission.READ_PHONE_STATE
IMPLIED from /Users/mayouk/Dev/tmp/AwesomeProject/android/app/src/main/AndroidManifest.xml:1:1-23:12 reason: org.webkit.android_jsc has a targetSdkVersion < 4
android:uses-permission#android.permission.READ_EXTERNAL_STORAGE
IMPLIED from /Users/mayouk/Dev/tmp/AwesomeProject/android/app/src/main/AndroidManifest.xml:1:1-23:12 reason: org.webkit.android_jsc requested WRITE_EXTERNAL_STORAGE

рдЪреВрдВрдХрд┐ android-jsc рдПрдХ targetSdkVersion рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реАрдВ ( @astuetz рдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА https://github.com/facebook/android-jsc/pull/12 рдореЗрдВ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╛ рддреЛ android-jsc рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд░реНрддрдорд╛рди рдореЗрдВред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП android-jsc рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

@brentvatne рдкрд┐рдВрдЧ, рдХреНрдпрд╛ рдирдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб-рдЬреЗрдПрд╕рд╕реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

@ рднреБрд▓рдирд╛рдЯрд┐рдХ рдПрдВрдбреНрд░реЙрдЗрдб-рдЬреЗрдПрд╕рд╕реА рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ рд╣рдо рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рд╣рдорд╛рд░реЗ рдРрдкреНрд╕ рдХреЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ:

<uses-permission
  android:name="android.permission.READ_PHONE_STATE"
  tools:node="remove"/>

@astuetz рдореИрдВ рдореИрдирд┐рдлреЗрд╕реНрдЯ рд╡рд┐рд▓рдп рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕реЗ рд╣рд▓ рд╣реЛрдиреЗ рддрдХ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣реЗрдб-рдЕрдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

@bestander - рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд╣рдо r189384 рдХреЗ рд╕рд╛рде-рд╕рд╛рде @kmgiera рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ?

@astuetz рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдореЗрд░реА рдорджрдж рдХреА, рдмрд╕ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЙрдкрдХрд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдШреЛрд╖рд┐рдд рдХрд░рдиреА рдкрдбрд╝реА

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.bepaw.esportninja">. 

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ xmlns:android рд╣реИ , рдХреЛрдИ xmlns рдирд╣реАрдВ

@bestander @brentvatne рдЕрд░реЗ! рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕реЗ SYSTEM_ALERT_WINDOW рдХреЛ рд╣рдЯрд╛рдирд╛ рдЕрдиреНрдп рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЪрд░реНрдЪрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

@marcshilling рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛ рдЙрддрдирд╛ рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд░рд┐рд▓реАрдЬ AndroidManifest.xml рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рд╣рд░ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдереЛрдбрд╝рд╛ рднрд╛рд░реА рд╣реИред
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдм рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ/рдХрд┐рд╕ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреА рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рд╕реЗ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореБрдЭрд╕реЗ рдЧрд▓рддреА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ SYSTEM_ALERT_WINDOW рдХреЛ рдЕрд▓рдЧ рдореИрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд┐рдирд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

рдЖрдкрдХреЗ рдореИрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" tools:remove="${excludeSystemAlertWindowPermission}"/>

app/build.gradle :

    buildTypes {
        debug {
            manifestPlaceholders = [excludeSystemAlertWindowPermission: "false"]
        }
        release {
            manifestPlaceholders = [excludeSystemAlertWindowPermission: "true"]
        }
    }

рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред

@marcshilling рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА! рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж! рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдирд╛ рд╢рд░реНрдордирд╛рдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдПред рдореИрдВ

рдирдорд╕реНрддреЗ, рдореБрдЭреЗ рдореЗрд░реЗ рдПрдХ рдРрдк рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ READ_PHONE_STATE рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдЪреЗрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореБрдЭреЗ рдмрд┐рд▓реНрдб рд▓реЙрдЧ рдореЗрдВ рд╡рд╣реА рдХрд╛рд░рдг рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

reason: org.webkit.android_jsc has a targetSdkVersion < 4

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдлрд╝рд┐рд▓рд╣рд╛рд▓, рдореИрдВ рдпрд╣рд╛рдБ рдмрддрд╛рдП рдЧрдП рдЕрдиреБрдорддрд┐ рд╣рдЯрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рдЕрд╕реНрдЯреБрдЯреНрдЬрд╝ - READ_PHONE_STATE - https://github.com/facebook/react-native/issues/5886#issuecomment -200869879
рдорд╛рд░реНрдХрд╢рд┐рд▓рд┐рдВрдЧ - SYSTEM_ALERT_WINDOW - https://github.com/facebook/react-native/issues/5886#issuecomment -224397883

рд╕рд╛рде рд╣реА mouneyrac (https://github.com/facebook/react-native/issues/5886#issuecomment-209218936) рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдирд╛рдо рд╕реНрдерд╛рди рдХреЛ рдЬреЛрдбрд╝рдирд╛

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде SYSTEM_ALERT_WINDOW рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред

рдПрдХ рд╣реИрдХ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рдкрдбрд╝рд╛ (рдмрд╣реБрдд рдЙрдХрд╕рд╛рдиреЗ рдФрд░ рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж)ред

AndroidManifest.xml . рдореЗрдВ

    <uses-permission android:name="${permissionName}" tools:node="remove"/>

app/build.gradle . рдореЗрдВ

    buildTypes {
        debug {
            manifestPlaceholders = [permissionName: "android.permission.ACCESS_FINE_LOCATION"]
            ...
        }    
        release {
            manifestPlaceholders = [permissionName: "android.permission.SYSTEM_ALERT_WINDOW"]
            ...
        }
    }

рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ, рдореИрдВ ACCESS_FINE_LOCATION рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ (рди рддреЛ рджреЗрд╡ рдореЗрдВ рдФрд░ рди рд╣реА рдЙрддреНрдкрд╛рдж рдореЗрдВ)ред рдХрд┐рд╕реА рдЕрдиреНрдп рдЧреИрд░-рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (BIND_TV_INPUT?)ред

рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ, рдореИрдВ SYSTEM_ALERT_WINDOW рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЬрдмрд░рди рдирд╣реАрдВ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕рдореЗрдВ рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╣реИрдХреА, рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡реА

рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ https://github.com/facebook/react-native/issues/5886#issuecomment -224397883, рддреЛ рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ xmlns:tools рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ: https://github.com /facebook/react-native/issues/5886#issuecomment -209218936

@marcshilling рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рд╣рдо рдЬрдирд░реЗрдЯрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@marcshilling рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛ рд▓реЗрдХрд┐рди @jbrodriguez рд╕реЗ рдПрдХ рдиреЗ рдХрд┐рдпрд╛ред

рдПрдХ рдмрд╛рдд рдореИрдВрдиреЗ рджреЗрдЦреА рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдорддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬрд┐рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдк REMOVE_ME рдЬреИрд╕реЗ рдЧреИрд░-рдореМрдЬреВрджрд╛ рдЕрдиреБрдорддрд┐ рдирд╛рдо рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреА: 0.30 рд╕реЗ 0.32 рддрдХ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рд▓рдЧрддрд╛ рд╣реИ рдЕрдм рдЕрдЪрд╛рдирдХ рдЕрдиреБрдорддрд┐ com.google.android.c2dm.permission.RECEIVE рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдм рджреЛ рдРрдкреНрд╕ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЗрд╕ рдирдИ рдЕрдиреБрдорддрд┐ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@marcshilling рдХреЗ tools:remove рдЙрдкрдпреЛрдЧ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди (рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рдорд┐рд╢реНрд░рдг) рд╣реИ:
app/src/main/AndroidManifest.xml , рдореИрдВрдиреЗ рдЬреЛрдбрд╝рд╛:

<uses-permission tools:node="remove" android:name="android.permission.READ_PHONE_STATE" />

рдФрд░ рдПрдХ рдирд╡ рдирд┐рд░реНрдорд┐рдд app/src/release/AndroidManifest.xml , рдореИрдВрдиреЗ рд░рдЦрд╛:

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    >

    <!-- These are added by React Native for debug mode, but actually aren't needed in releasemode -->
    <uses-permission tools:node="remove" android:name="android.permission.SYSTEM_ALERT_WINDOW" />
</manifest>

tools:node рдЕрдВрджрд░ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП tools:node="${someManifestPlaceholder}" рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рддреЛ рдПрдХ рд╕рд╛рде рдорд░реНрдЬ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдПрдХрд╛рдзрд┐рдХ AndroidManifest.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрд░реЛрдХреНрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг debug рдмрдирд╛рдо release рдЖрдзрд╛рд░ (рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ main рдкрд░ рдХреБрдЫ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ/рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред )

@marcshilling рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди , рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рддреЛ рдореИрдВ @jbrodriguez рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ 's @astuetz рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд s'

рдЖрдк рд▓реЛрдЧ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реИ?

рд╢рд╛рдпрдж рдПрдХ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдВ рдЬреЛ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЦреБрдж рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ?
рдРрд╕рд╛ рдХреБрдЫ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИред

@mikelambert , рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдЪрд╛рд╣рд┐рдП?

рдХреНрдпрд╛ рдЧреНрд░реЗрдбреЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ app/src/main/AndroidManifest.xml app/src/release/AndroidManifest.xml рдХреЛ app/src/main/AndroidManifest.xml рд╡рд┐рд▓рдп рдХрд░ рджреЗрддрд╛ рд╣реИ?

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрд▓реАрдирд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ

рд╡рд┐рдЪрд╛рд░ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА! :)

рд╣рд╛рдВ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ AndroidManifest.xml рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд░реВрд░реА рдерд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ!

@mikelambert рдиреЗ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдк рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб-рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП release{X}/AndroidManifest.xml ред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдХреИрд╕реЗ рдХреИрдкреНрдЪрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ..

рдЬрдм react-native init рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдлрд┐рдХреНрд╕ (рдЖрдИрдПрдордУ) рд╣реЛрдЧрд╛ред рдпрд╛рдиреА, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рдорд╛рди рдХреБрдЫ:
https://github.com/facebook/react-native/blob/master/local-cli/templates/HelloWorld/android/app/src/main/AndroidManifest.xml

@freakinruben рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;)
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмреБрдирд┐рдпрд╛рджреА рд╣реЛрдЧрд╛, рдФрд░ рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬ/рдбреАрдмрдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛

рдмрд╛рдж рдореЗрдВ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреЗ рд╣реИрдВ

@mikelambert рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрджрдореА рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рднреА рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ рдпрд╣рд╛рдБ рддрдм рддрдХ рд╣реИрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдПрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ :)

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>

рдирдорд╕реНрддреЗ,

RN рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝рдиреЗ рджреЗрдиреЗ рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддреЗрдВ android.permission.READ_PHONE_STATE ред рдпрджрд┐ рдЖрдк рдРрд╕реА рдЕрдиреБрдорддрд┐ (рдЕрдиреНрдп рдХреЗ рдмреАрдЪ) рдХреЗ рд╕рд╛рде Google Play рд╕реНрдЯреЛрд░ рдкрд░ рдХрд┐рд╕реА рдРрдк рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧрд╛:

рдЖрдкрдХреЗ рдРрдк рдореЗрдВ рд╡рд░реНрдЬрди рдХреЛрдб X рд╡рд╛рд▓рд╛ рдПрдХ рдПрдкреАрдХреЗ рд╣реИ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ: android.permission.READ_PHONE_STATEред рдПрдкреАрдХреЗ рдореЗрдВ рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА: https://play.google.com/intl/en-US_ALL/about/privacy-security/additional-requirements/ред рддреЛ рд╣рд╛рдБ, рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддрдм рддрдХ рдЗрд╕ рдЕрдиреБрдорддрд┐ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ RN рдореЗрдВ рддрдп рди рд╣реЛ рдЬрд╛рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд░рд┐рд╣рд╛ рдХрд░рдиреЗ рдХреЗ рдЗрд░рд╛рджреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдВред

@mikelambert рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рд╢реБрдХреНрд░рд┐рдпрд╛ред

@mikelambert рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@ferrannp рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рдХрд╛рд░рдг рдерд╛ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдЖрдпрд╛ред :) рдФрд░ рд╕рдорд╛рдзрд╛рди рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред

15 рдорд╛рд░реНрдЪ рд╕реЗ рд╕реНрдореЙрд▓ рд░реАрдХреИрдк рдХрд░реАрдм рдЖ рд░рд╣рд╛ рд╣реИ:

schermata 2017-03-13 alle 17 29 25

@mmazzarolo 15 рдорд╛рд░реНрдЪ (рдХрд▓) рдХреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

@antoinerousseau : Google Play рдХрд╛ рдирдпрд╛ рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐ рдирд┐рдпрдо 15 рдорд╛рд░реНрдЪ рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛ рдЧрдпрд╛ рд╣реИ , рдФрд░ READ_PHONE_STATE рдЙрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ Play Store рдФрд░ рдРрдк рджреЛрдиреЛрдВ рдореЗрдВ рд╣реА рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдЧреАред

рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдбрд▓

        classpath 'com.android.tools.build:gradle:1.2.3' // For Android 5.1

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо 5.1 рдкрд░ рдХреНрд░реИрд╢ рд╣реЛрддрд╛ рд╣реИ:

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" tools:node="remove"/>
06-02 15:06:54.102: E/AndroidRuntime(18353): android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W<strong i="11">@f03a0a2</strong> -- permission denied for this window type
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.view.ViewRootImpl.setView(ViewRootImpl.java:704)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:289)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.app.Dialog.show(Dialog.java:311)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at com.facebook.react.devsupport.DevSupportManagerImpl.showProgressDialog(DevSupportManagerImpl.java:762)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at com.facebook.react.devsupport.DevSupportManagerImpl.reloadJSFromServer(DevSupportManagerImpl.java:767)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at com.facebook.react.devsupport.DevSupportManagerImpl.handleReloadJS(DevSupportManagerImpl.java:658)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at com.facebook.react.XReactInstanceManagerImpl$3$1.run(XReactInstanceManagerImpl.java:412)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.os.Handler.handleCallback(Handler.java:815)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.os.Handler.dispatchMessage(Handler.java:104)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.os.Looper.loop(Looper.java:194)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at android.app.ActivityThread.main(ActivityThread.java:5631)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at java.lang.reflect.Method.invoke(Native Method)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at java.lang.reflect.Method.invoke(Method.java:372)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
06-02 15:06:54.102: E/AndroidRuntime(18353):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ:

tools:node="remove

@iegik , рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕рдХреЗ рд╕рдорд╛рдзрд╛рди/рдХреЛрдб рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рдереЗ, рд▓реЗрдХрд┐рди рдмрд┐рд▓реНрдб рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SYSTEM_ALERT_WINDOW рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝рдирд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рджреВрд╕рд░реЛрдВ рдХреЛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдХреГрдкрдпрд╛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдореЗрд░реЗ рд╕реБрдЭрд╛рд╡ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдореЗрдВ рдЙрд╕ рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@ рдП-рдХреЛрдХрд╛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдКрдкрд░ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛

@mikelambert рдореБрдЭреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ

@iegik рдЬреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рд▓реАрдЬ-рдореЛрдб рдРрдкреНрд╕ рдХреЛ SYSTEM_ALERT_WINDOW рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕-рдореЛрдб рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдХреНрдд рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдПрдХ рд▓реЙрдЧ рд╣реИ, рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдХрд╣реАрдВ" рдХрд╣рд╛рдБ рд╣реИ?

рдмреЗрд╢рдХ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ ... рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рднрд╛рд╡реА рдкрд╛рдардХ рдпрд╣ рд╕реЛрдЪреЗрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рднреА рдЙрд╕ рдЕрдиреБрдорддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред :)

рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдореЗрд░рд╛ рдРрдк рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

@npaez , рдпрд╣ рд╕рд╣реА рд╣реИ

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЛрдб = "рдирд┐рдХрд╛рд▓реЗрдВ" рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдореЗрдирд┐рдлреЗрд╕реНрдЯ рд╕реЗ рдЕрдиреБрдорддрд┐ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрдорддрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реЛрдЧреАред
тАФ рдмрдЧреБрд▓рд╛ рдФрд░ рдХрд▓рд╣

@marcshilling рдХреА рд╡рд┐рдзрд┐ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред (рд╡рд╛рдИ)

рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ RN рдЕрднреА рднреА рдЗрд╕ рдЕрдиреБрдорддрд┐ рдХреЛ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

рдЬреЛ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХрд╛ рдлреЛрди рдирдВрдмрд░ рдФрд░ рдЖрдИрдПрдордИрдЖрдИ рд╣реИ рдпрджрд┐ рдЖрдк рдореЗрд░реА рдРрдк рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдРрд╕рд╛ рдХреЛрдИ рднреА рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдЗрд╕рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗ ...

@johnculviner рд╡реИрд╕реЗ, рдХреНрдпрд╛ рдпрд╣ рддрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк IMEI рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдЙрдкрдХрд░рдг-рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдЗрдореЗрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд┐рд╕реЗ рдЖрд░рдПрди 0.47 рдХреЗ рдмрд╛рдж рд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдУрд╡рд░рд░рд╛рдЗрдб рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╡рд┐рдзрд┐ рдХреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ ?

@koswarabilly рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЕрдиреБрдорддрд┐ IMEI рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдиреНрдирдд рдЪреАрдЬ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдлреЛрди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛

@johnculviner рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрдорддрд┐ рдореБрдЭреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдЖрдИрдПрдордИ рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдИрдПрдордИрдЖрдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд░рди-рдПрдВрдбреНрд░реЙрдЗрдб рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдУрд╡рд░рд░рд╛рдЗрдб рдпрд╛ рд▓рд╛рдЧреВ рд╡рд┐рдзрд┐ рдирд╣реАрдВ рдХрд╣рдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ IMEI рдирдВрдмрд░
рдпрд╛ рдХрд┐рд╕реА рдиреЗ рдпрд╣рд╛рдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдИрдПрдордИрдЖрдИ рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░реНрдп рд╣реИ

рдореИрдВ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ v0.44.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрд╕рдбреАрдХреЗ 26 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдВрдбреНрд░реЙрдЗрдб рд╕рд┐рд╕реНрдЯрдо SYSTEM_ALERT_WINDOW рдХреЛ рдЕрдм рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред SYSTEM_ALERT_WINDOW рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ Oreo рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░реАрдп рдРрдкреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рдХрд╛рдо рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд╣ рд╡реНрдпрдХреНрддрд┐ рдпрд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
https://medium.com/@applification/fixing -react-native-android-permissions-9e78996e9865

@mikelambert рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдерд╛
./android/app/src/main/AndroidManifest.xml

рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдиреА рдкрдбрд╝реАрдВ

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
// Added this
    xmlns:tools="http://schemas.android.com/tools"
    package="de.democracydeutschland.app"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
// Added tools:node="remove"
    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>
// Added READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE both with tools:node="remove"
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="22" />

    ...

рдбреАрдмрдЧ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП: ./android/app/build/outputs/logs/manifest-merger-***-report.txt

рд╕рдВрдмрдВрдзрд┐рдд: https://github.com/demokratie-live/democracy-client/blob/master/android/app/src/main/AndroidManifest.xml

PlayStore рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдРрдк-рдЕрдиреБрдорддрд┐ рд╕рдВрд╡рд╛рдж рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ

рдПрдХ рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ:

рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рд░ рдХреНрдпреЛрдВ

рдЧреНрд░реБрд╕ рдЙрд▓реНрдлрд╝реА

<3

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ "рд╕реБрдзрд╛рд░" рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛?

рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рдХрдИ рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд░ рд╣реИрдВ (рдЕрднреА рддрдХ 4), рдФрд░ рд╣рдо debug рдЫреЛрдбрд╝рдХрд░ рдЙрди рд╕рднреА рд╕реЗ SYSTEM_ALERT_WINDOW рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред
рдореИрдВ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдорддрд┐ рдирд╛рдореЛрдВ рдХреЛ рд╣реИрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рди рд╣реА рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде 3 рдЕрддрд┐рд░рд┐рдХреНрдд AndroidManifests рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рддреЛ, рдЕрдВрдд рдореЗрдВ рдореИрдВ main/AndroidManifest.xm l рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдорддрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ:

<manifest xmlns:tools="http://schemas.android.com/tools" ...>
<uses-permission tools:node="remove" android:name="android.permission.SYSTEM_ALERT_WINDOW" />
...

рдФрд░ рдлрд┐рд░ рдПрдХ рдЕрд▓рдЧ рдбреАрдмрдЧ/AndroidManifest.xml рдореЗрдВ , рдореИрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:

<manifest xmlns:tools="http://schemas.android.com/tools" ...>
<uses-permission tools:node="merge" android:name="android.permission.SYSTEM_ALERT_WINDOW" />
...

рдЪреВрдВрдХрд┐ debug AndroidManifest рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ main рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ ( рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдорд░реНрдЬ рдХрд░реЗрдВ рджреЗрдЦреЗрдВ), рдпрд╣ рдирд┐рд╖реНрдХрд╛рд╕рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ( aapt d permissions <apk file> рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП)ред

рдХрд╛рдВрдЧреНрд░реЗрд╕ рдХреЛ рдЬрд╝реБрдХ рд╕реЗ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХрд┐ рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдЗрд╕ рддрд░рд╣ рдПрдХ рдФрд░ android/app/src/release/AndroidManifest.xml рдмрдирд╛ рд░рд╣рд╛ рд╣реИ:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.facebook.react.demo">

    <uses-permission
        android:name="android.permission.SYSTEM_ALERT_WINDOW"
        tools:node="remove" />

    <uses-permission
        android:name="android.permission.READ_PHONE_STATE"
        tools:node="remove" />

    <application>

    </application>

</manifest>

рдФрд░ android/app/build.gradle рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

android {
    ...
    sourceSets.release {
        manifest.srcFile 'release/AndroidManifest.xml'
    }
}

https://code.videolan.org/videolan/vlc-android/blob/923bbada6687ecab31addc1dfd3f90619976ccdf/vlc-android/build.gradle#L169

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВред рдХреГрдкрдпрд╛ рджреЗрдЦреЗрдВ https://github.com/facebook/react-native/blob/master/local-cli/templates/HelloWorld/android/app/src/main/AndroidManifest.xml

@dulmandakh рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдПрдкреАрдХреЗ рдмрдирд╛рддреЗ рд╕рдордп рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВ, рд╡реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдореВрд▓ рдореБрджреНрджреЗ рдореЗрдВ рдФрд░ https://github.com/facebook/react-native/issues/5886#issuecomment-200862582 рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) ) рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ?

@dulmandakh рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдкрд░ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреА рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддреА рд╣реИрдВ

рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ:
http://facebook.github.io/react-native/docs/removing-default-permissions

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдордВрдЪ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Google Play рдХрдВрд╕реЛрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Google рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА Android рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рд╣рд░ рдЕрдкреНрд░рдпреБрдХреНрдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдореЗрдВ ' рдЯреВрд▓реНрд╕: рдиреЛрдб = "рдирд┐рдХрд╛рд▓реЗрдВ"' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд░рд┐рд▓реАрдЬ рдРрдкреНрд╕ рдореЗрдВ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИред Google рдЕрднреА рднреА рдореБрдЭреЗ рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЛ google play рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдХрд┐рд╕реА рдХреЛ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ 27-01-2019 рдорд┐рд▓реАред

рдЗрд╕ рдкрд░ рдПрдХ рдЕрдиреБрд╡рд░реНрддреА рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЗрдирд┐рдлреЗрд╕реНрдЯ:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="de.democracydeutschland.app">

    <uses-permission android:name="android.permission.INTERNET" />

    <!-- Default permissions which are added silently and not needed by us - hence we remove them -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />

    <!-- This needs to be added in dev mode but removed in all others
         since this config is used for production aswell we need to remove it here -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" tools:node="remove" />

    <!-- included from rn-fetch-blob - implications of removal are unknown -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" tools:node="remove" />

    ...
</manifest>

рдореБрдЦреНрдп рдШреЛрд╖рдгрд╛рдкрддреНрд░

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="de.democracydeutschland.app">

    <!-- This needs to be added in dev mode but removed in all others -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" tools:node="replace" />

</manifest>

рджреЗрд╡ рд╕реНрд╡рд╛рдж рдкреНрд░рдХрдЯ

рдЙрдкрд░реНрдпреБрдХреНрдд рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝ рджреА рдЧрдИ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдкреБрд░рд╛рдирд╛ рдЬреЗрдПрд╕рд╕реА рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛрд░ рдПрд╕рдбреАрдХреЗ 4 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдпрд╛ рдЬреЗрдПрд╕рд╕реА рд╣реИ рдФрд░ 0.59 рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдЗрд╕рдореЗрдВ рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдХреГрдкрдпрд╛ рджреЗрдЦреЗрдВ https://developer.android.com/studio/build/manifest-merge

SYSTEM_ALERT_WINDOW рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реИред

рд╢рд╛рдпрдж рдпрд╣ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдпрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

@hammadzz рд╣рдореЗрдВ рдЕрдкреНрд░рдпреБрдХреНрдд рдЕрдиреБрдорддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ https://github.com/facebook/react-native/pull/23504ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдЙрддрд░реЗрдЧрд╛ рдФрд░ рдЪреЗрд░реА 0.59 рдХреЗ рд▓рд┐рдП рдЪреБрдиреА рдЬрд╛рдПрдЧреАред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

arunabha picture arunabha  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jlongster picture jlongster  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DreySkee picture DreySkee  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

phongyewtong picture phongyewtong  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aniss picture aniss  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ