Я хочу создать веб-приложение для Android с помощью Intel XDK! я пробовал, но выходной файл apk слишком велик, мои файлы всего 2,4 МБ, но выходной файл 15,6 МБ! Что я должен делать ?
Выходные данные Intel XDK (.apk) слишком велики! (андроид)
Ответы (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 меньшего размера, но она еще не совсем готова для прайм-тайма (поэтому причина для тега «бета» ).
На данный момент сборка Crosswalk — лучшее решение для Android-приложения от Intel XDK, однако файл очень большой. У меня все активы и код игры ~4 мб, где скомпилированный apk с Crosswalk весит 22 мб, а установленный на устройстве 50 мб! Это слишком много, но с Crosswalk все работает. Звук, события, полноэкранный режим, ориентация и другие функции.
Если вам нужен файл меньшего размера, используйте сборку Cordoba. С теми же игровыми файлами мой apk составляет всего ~ 4,7 МБ, в этом разница. Плохая новость, сборка Cordoba является бета-версией, а скорее альфа-версией. С этой сборкой могут быть проблемы со звуком на старых версиях Android и некоторых устройствах. Например, на моем устройстве с андроидом 4.0.4 у меня нет звука там, где на самых новых версиях звук в основном работает.
При создании приложения какую кодовую базу вы используете? «Золото» — самое прочное, но это также означает, что оно самое крупное (с большим количеством включений). Будет ли ваше приложение по-прежнему работать с более легкой «бережливой» кодовой базой?
Это контейнер Intel XDK, упакованный с вашим приложением, и если вы хотите использовать DirectCanvas (например, для разработки игр), вы обязаны использовать «золотую» кодовую базу, которая включает все их API, даже если вы их не используете. . Это грустно, ага!
Более того, со всеми этими API-интерфейсами, созданными с вашим приложением, при установке приложению потребуется много разрешений на устройстве, и с этим ничего не поделаешь (не то, что я знаю).
Обычно изображение является самым большим содержимым в приложении, и вы можете сжать его с помощью средства запуска задач 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'))
);