آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش حذف مجوزهای پیش فرض در Android در React Native

دوره های مرتبط با این مقاله

آموزش حذف مجوزهای پیش فرض در Android

به طور پیش فرض، یکسری مجوزها به android application شما اضافه می شود، مثل:


  • android.permission.INTERNET – برای حالت debug لازم است.
  • ndroid.permission.SYSTEM_ALERT_WINDOW - برای debug لازم است.
  • android.permission.READ_PHONE_STATE – برای debug و یا production لازم نیست.
  • android.permission.WRITE_EXTERNAL_STORAGE - برای debug و یا production لازم نیست.
  • android.permission.READ_EXTERNAL_STORAGE - برای debug و یا production لازم نیست.
  1. برای شروع READ_PHONE_STATE، WRITE_EXTERNAL_STORAGE، و READ_EXTERNAL_STORAGE را از APK های debug و production حذف می کنیم، چرا که برای هیچ کدام از این دو فاز لازم نیست. این مجوزهای ذخیره سازی حتی برای زمانی که ماژول AsyncStorage استفاده می شود نیز لازم نیست. بهتر است آن را از هردو مد debug و production حذف کنیم.
  2. فایل android/app/src/main/AndroidManifest.xml را باز کنید.
  3. حتی اگر این دو مجوز در manifest لیست نشده اند، بعدا اضافه می شوند. این سه مجوز را با attribute tools:node="remove" اضافه می کنیم تا مطمئن باشیم در زمان build حذف می شنود. دقت کنید شناسه package متفاوت است. برای مثال زیر، شناسه ی آن "com.myapp" است، چرا که پروژه به صورت react-native init myapp ساخته شده است.

< manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myappid"
+   xmlns:tools="http://schemas.android.com/tools"
    >
    < uses-permission android:name="android.permission.INTERNET" />
    < uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+   < uses-permission tools:node="remove" android:name="android.permission.READ_PHONE_STATE" />
+   < uses-permission tools:node="remove" android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+   < uses-permission tools:node="remove" android:name="android.permission.READ_EXTERNAL_STORAGE" />
    < application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      < activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        < intent-filter>
            < action android:name="android.intent.action.MAIN" />
            < category android:name="android.intent.category.LAUNCHER" />
        < /intent-filter>
      < /activity>
      < activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    < /application>
< /manifest>

تمام شد! مجوز INTERNET را حذف نکردیم چرا که همه ی application ها از آن استفاده می کنند. حال هروقت یک APK برای فاز production می سازید، هر4 مجوز حذف می شوند. وقتی APK برای فاز debug می سازید (react-native run-android) برنامه را بدون این چهار مجوز نصب می کند.

  • 48
  •    0
  • تاریخ ارسال :   1398/06/11

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .