2016-07-04 3 views
7

Я планирую разработать приложение для развивающихся рынков с низкой пропускной способностью в Интернете. Приложение сильно требует подключения к Интернету.
Мне нужно это приложение, чтобы иметь небольшой размер apk (не более 10mb) и работать с 3G Сеть.
Основываясь на моих исследованиях, если я удалю x86 JS двоичные файлы от React Native размер apk может быть размером от 4 МБ. Я полагаю, что 4mb не включает файлы и изображения JS, поэтому клиенту необходимо сначала загрузить его, когда он открывает приложение, верно?
Было ли это вообще хорошей идеей для меня использовать React Native, если я хочу, чтобы приложение размером менее 10 мб, которое работает на 3G, и какие лучшие методы делают его эффективным?React Native для небольшого размера apk с низкой пропускной способностью Интернета

ответ

13

Вместо удаления js, которые оказывают меньшее влияние, вы должны идти после двоичных ресурсов, таких как шрифт и встроенные изображения. Помимо этого эти являются следующие методы, которые могут работать для вас:

1) Включение Proguard:

Чтобы включить Proguard, редактировать Android/приложение/build.gradle:

def enableProguardInReleaseBuilds = true 

Сформировать Отдельные Строит :

2) В вашем приложении/build.gradle набор

def enableSeparateBuildPerCPUArchitecture = true 

3) Удалить x86 из abiFilters

Ниже приведены ссылки на ссылки, которые могут оказаться полезными:

Блог об уменьшении размера APK:

https://realm.io/news/reducing-apk-size-native-libraries/

Ссылка одного из маленьких RN приложения на игра магазин:

https://github.com/sonnylazuardi/ziliun-react-native

Полезная ди scussion на React Native вопроса относительно размера APK:

https://github.com/facebook/react-native/issues/5037

+1

Мне любопытно, почему файлы JS действительно не влияют на размер apk. Я добавил библиотеку 1mb js. Кажется, я действительно не увеличиваю размер apk. Почему это так? – abeikverdi

+0

Были ли части этого JS-файла исполняемыми в программе? Я думаю, что если файл не выполняется, они не включены в окончательные сборки. (Thats my guess) – Chromonav

+0

Файлы js в комплекте в приложении. Его выпущенный подписанный apk. Эти файлы js должны существовать где-то .. – abeikverdi

2

Если вы просто хотите использовать приложение с меньшим размером приложения, используйте собственную платформу. Минимальный размер встроенного приложения для Android будет 1 МБ. Вы не можете уменьшить размер реагирующего родного приложения менее 4 МБ.

+0

права, 4mb работает для меня до тех пор, как его только 4mb. Является ли размер файла js включенным в этот 4 МБ? – abeikverdi

+0

Да. Исходные js будут включены. – Sriraman

+0

Что делать, если устройство получает js с моего сервера, когда клиент загружает приложение в первый раз? уменьшает ли размер APK? – abeikverdi