Я думаю, что ответ alpinescrambler, вероятно, наиболее применим, но вот некоторые вещи, которые вы можете сделать, даже если вы последуете его предложению о нескольких APK.
Во-первых, вы можете опустить armeabi-v7a
, так как его можно удовлетворить armeabi
.
Во-вторых, создайте общий объект и общий объект ffmpeg с помощью -Os
.
В-третьих, создайте общий объект и общий объект ffmpeg с помощью -ffunction-sections
. Позже неиспользуемые функции можно удалить. На самом деле, вот типичная строка компиляции для armeabi
(для одного из моих проектов):
arm-linux-androideabi-g++ -MMD -MP -MF …/MyProj/obj/local/armeabi/objs/prng/libprng.o.d -fpic
-ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te
-mtune=xscale -msoft-float -mthumb -Os -g -DNDEBUG -fomit-frame-pointer
-fno-strict-aliasing -finline-limit=64 -I/opt/android-ndk-r9/sources/cxx-stl/stlport/stlport
-I/opt/android-ndk-r9/sources/cxx-stl/system/include -I/usr/local/cryptopp/android-armeabi/include
-I…/MyProj/jni -DANDROID -Wa,--noexecstack -frtti -fexceptions -I/opt/android-ndk-r9/platforms
/android-14/arch-arm/usr/include -c …/MyProj/jni/libprng.cpp
-o …/MyProj/obj/local/armeabi/objs/prng/libprng.o
В-четвертых, создайте свой общий объект и общий объект ffmpeg с помощью 16-битных инструкций thumb с -mthumb
(а не 32-битных инструкций arm с -marm
).
В-пятых, используйте __attribute__ ((visibility ("hidden")))
в вашем общем объекте и общем объекте ffmpeg. Это позволит сохранить таблицы экспорта небольшими. Это также приведет к более быстрому времени загрузки.
В-шестых, создайте общий объект и общий объект ffmpeg с помощью -Wl,--exclude-libs,ALL
, чтобы исключить повторный экспорт других библиотечных функций.
В-седьмых, запустите arm-linux-androideabi-strip --strip-unneeded
для вашего общего объекта и общего объекта ffmpeg. Это возможно, потому что вы скомпилировали с -ffunction-sections
.
В-восьмых, запустите arm-linux-androideabi-strip --strip-all
для вашего общего объекта и общего объекта ffmpeg.
Кроме того, вам вообще нужен MIPS? Не могу найти планшет. Мои попытки найти его были встречены "закрыто, не по теме".
person
jww
schedule
13.09.2014