Domanda

Nella nostra app Android abbiamo due file .so: uno per x86 e un altro per il braccio.Sono abbastanza grandi e stanno aumentando le dimensioni del .apk da 7 Mb a 11 Mb.

Poiché i file .so sono entità temporali che devono essere all'interno dei file .apk.

C'è un modo in cui potrei ridurre le dimensioni di file .so o usarlo / costruiscilo nel mio .apk in modo migliore?

Ho ottenuto un punto da qui http://Developer.sonymobile.com/2012/01/31/tips-for-Raducing-apk-file-size/ IE per rimuovere i simboli di debug dal codice nativo.

È stato utile?

Soluzione

The Play Store ti consente di Carica APK separati per architettura della CPU . Quindi avresti un APK APK e un APK X86, piuttosto che un APK con entrambi.

Impostazione di tali APKS è relativamente semplice con Gradle per Android - Utilizzare un http://tools. Product-sapori "rel=" noreferrer "> Sapore del prodotto per ogni architettura. Presumo che ci siano ricette per fare questo fuori da Gradle per Android, anche se sospetto che sia più coinvolto.

Un altro approccio è semplicemente non distribuire il .so X86. I moderni dispositivi Android a motore X86 tendono ad avere libhoudini, che consente loro di utilizzare le librerie NDK di .so del braccio. Tuttavia, come con l'emulatore Android, il braccio emulante su x86 è lento, quindi è necessario testare e vedere se la tua app esegue accettabilmente su x86.

E, come suggerisce il signor Stratton, in particolare se le biblioteche sono le tue, vedere se è possibile tagliare la dimensione della libreria stessa. Proguard non spunta il codice nativo nel modo in cui strisce il codice Java.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top