как уменьшить размер встроенной апк - PullRequest
0 голосов
/ 20 апреля 2020

Я создал собственный реактивный проект, добавил несколько библиотек и собрал apk, чтобы проверить, работает ли он, и увидел это. у меня сейчас нет действий, только пара библиотек.

Android Studio Analyze Apk Photo вот как мой пакет. json выглядит так:

{
  "name": "AppName",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "load-script": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.9.0",
    "@react-native-community/masked-view": "^0.1.9",
    "@react-navigation/native": "^5.1.5",
    "@react-navigation/stack": "^5.2.10",
    "axios": "^0.19.2",
    "i18next": "^19.4.2",
    "moment-jalaali": "^0.9.2",
    "native-base": "^2.13.12",
    "react": "16.11.0",
    "react-i18next": "^11.3.4",
    "react-native": "0.62.2",
    "react-native-gesture-handler": "^1.6.1",
    "react-native-localize": "^1.4.0",
    "react-native-reanimated": "^1.8.0",
    "react-native-responsive-screen": "^1.4.1",
    "react-native-restart": "^0.0.14",
    "react-native-safe-area-context": "^0.7.3",
    "react-native-screens": "^2.4.0",
    "react-native-svg": "^12.1.0",
    "react-redux": "^7.2.0",
    "redux": "^4.0.5",
    "redux-logger": "^3.0.6",
    "redux-persist": "^6.0.0",
    "redux-thunk": "^2.3.0"
  },
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@babel/runtime": "^7.9.2",
    "@react-native-community/eslint-config": "^1.0.0",
    "babel-jest": "^25.3.0",
    "eslint": "^6.8.0",
    "jest": "^25.3.0",
    "metro-react-native-babel-preset": "^0.59.0",
    "react-test-renderer": "16.11.0",
    "reactotron-react-native": "^5.0.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

как могу ли я уменьшить размер apk и есть ли способ узнать, какая библиотека занимает слишком большой размер?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

В android/app/build.gradle добавить строку:

def enableSeparateBuildPerCPUArchitecture = true
0 голосов
/ 20 апреля 2020
  release {
            debuggable false
            shrinkResources true
            minifyEnabled true
            useProguard true
            setProguardFiles([getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'])
          }
  • С помощью строк minifyEnabled и useProguard вы активируете минимизацию и запутывание кода.
  • Библиотеки то, что вы добавляете в свой код, может включать неиспользуемые ресурсы. Gradle может автоматически удалять ресурсы от вашего имени, если вы включите shrinkResources в файле build.gradle вашего приложения.

/ ** * Запустите Proguard, чтобы уменьшить Java байт-код в сборках релиза. * / def enableProguardInReleaseBuilds = true

Proguard - это инструмент, который может немного уменьшить размер APK. Это достигается путем удаления частей байт-кода React Native Java (и его зависимостей), которые не используются вашим приложением.

  • Установка def enableProguardInReleaseBuilds = true, что позволит Progaurd сжать Java байт-код. Это уменьшает размер приложения.
  • Установите значение enableSeparateBuildPerCPUArchitecture = true.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...