Выходные данные Intel XDK (.apk) слишком велики! (андроид)

Я хочу создать веб-приложение для Android с помощью Intel XDK! я пробовал, но выходной файл apk слишком велик, мои файлы всего 2,4 МБ, но выходной файл 15,6 МБ! Что я должен делать ?


person Hosein    schedule 07.03.2014    source источник
comment
Почему 15,6 МБ слишком много? Нередко приложения бывают такими большими.   -  person zapl    schedule 07.03.2014
comment
Пожалуйста, проверьте этот пост stackoverflow.com/questions/30391023/ Я могу вам помочь!   -  person Nagendra Badiganti    schedule 01.01.2017


Ответы (5)


Как указывает @HoseinBL, 15,6 МБ не так уж много для типичного APK.

Какую сборку Android вы используете? На самом деле в текущей системе сборки XDK доступно три. Если вы используете тот, который помечен просто как «Android», применимы приведенные выше комментарии от @Brad Hill и @Tangocoder. Если вам нужно использовать Canvas API (также известный как AGI) или Cordova API, вам необходимо выполнить сборку с использованием опции «Gold». Если вы используете только Intel XDK API (пространства имен intel.xdk и appmobi), вы можете использовать опцию «Lean» для немного меньшего размера APK.

Сборка Crosswalk для Android создаст пакет размером не менее 15 МБ, так как эта опция включает замену веб-представления, требующую много места.

Мы находимся в процессе завершения сборки, на 100% совместимой с Cordova (текущая называется «Cordova для Android»), которая будет генерировать APK меньшего размера, но она еще не совсем готова для прайм-тайма (поэтому причина для тега «бета» ).

person xmnboy    schedule 11.03.2014
comment
ОБНОВЛЕНИЕ: с конца 2014 года мы теперь поддерживаем стандартные сборки Cordova для Android (на основе Cordova 3.x), в дополнение к Cordova для iOS и Cordova для Windows 8 (пока нет Win8 Phone). Мы внедряем систему сборки Cordova 4.x, которая будет доступна в начале 2015 года. - person xmnboy; 05.01.2015
comment
ОБНОВЛЕНИЕ: в конце 2015 года мы перешли на систему сборки Cordova CLI 5.x, которая обеспечит гораздо большую гибкость для сборок Crosswalk. Следите за выпуском в марте/апреле 2016 года, который обеспечит большую гибкость в отношении того, для каких версий Crosswalk вы создаете. Кроме того, в это время будут полностью поддерживаться универсальные сборки Windows. - person xmnboy; 10.02.2016

На данный момент сборка Crosswalk — лучшее решение для Android-приложения от Intel XDK, однако файл очень большой. У меня все активы и код игры ~4 мб, где скомпилированный apk с Crosswalk весит 22 мб, а установленный на устройстве 50 мб! Это слишком много, но с Crosswalk все работает. Звук, события, полноэкранный режим, ориентация и другие функции.

Если вам нужен файл меньшего размера, используйте сборку Cordoba. С теми же игровыми файлами мой apk составляет всего ~ 4,7 МБ, в этом разница. Плохая новость, сборка Cordoba является бета-версией, а скорее альфа-версией. С этой сборкой могут быть проблемы со звуком на старых версиях Android и некоторых устройствах. Например, на моем устройстве с андроидом 4.0.4 у меня нет звука там, где на самых новых версиях звук в основном работает.

person Dudeist    schedule 21.04.2014

При создании приложения какую кодовую базу вы используете? «Золото» — самое прочное, но это также означает, что оно самое крупное (с большим количеством включений). Будет ли ваше приложение по-прежнему работать с более легкой «бережливой» кодовой базой?

person Brad Hill    schedule 07.03.2014

Это контейнер Intel XDK, упакованный с вашим приложением, и если вы хотите использовать DirectCanvas (например, для разработки игр), вы обязаны использовать «золотую» кодовую базу, которая включает все их API, даже если вы их не используете. . Это грустно, ага!

Более того, со всеми этими API-интерфейсами, созданными с вашим приложением, при установке приложению потребуется много разрешений на устройстве, и с этим ничего не поделаешь (не то, что я знаю).

person Tangocoder    schedule 08.03.2014

Обычно изображение является самым большим содержимым в приложении, и вы можете сжать его с помощью средства запуска задач gulp с gulp min.

https://github.com/sindresorhus/gulp-imagemin

образец:

const gulp = require('gulp');
const imagemin = require('gulp-imagemin');

gulp.task('default', () =>
    gulp.src('src/images/*')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/images'))
);
person Ario MD    schedule 08.05.2016