Я создаю приложение для Android, размер APK-файла которого составляет около 4 МБ. Пару недель назад при создании подписанного приложения размер созданного APK-файла составлял около 17 МБ.
После выяснения, почему это происходит, я обнаружил, что новые архивы APK содержат /lib, которого не было в старых APK-файлах размером 4 МБ. Кто-нибудь знает, почему этот каталог lib внезапно появляется в архиве APK и есть ли способ его удалить?
Структура каталога /lib внутри архива APK:
/lib
/arm64-v8a
/armeabi
/armeabi-v7a
/mips
/x86
/x86_64
Я недавно обновил Android Studio до версии 2.0, а также обновил Gradle. Может ли это быть проблемой и есть ли какие-то параметры конфигурации, которые могут решить эту проблему?
Мой файл Gradle выглядит так:
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
flatDir { dirs 'aars' }
}
android {
// when changing this, YOU MUST change C:\AndroidADT\sdk\build-tools\xx.yy.zz\dx.bat to have -> set java_exe=C:\Windows\System32\java.exe
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
minSdkVersion 11
targetSdkVersion 21
}
def homeDir = System.getenv('HOMEDRIVE') + System.getenv('HOMEPATH');
signingConfigs {
cinema {
storeFile = file("keystore\\cinema.keystore.jks")
storePassword = "cinema"
keyAlias = "cinema"
keyPassword = "cinema"
}
dev {
storeFile = file("keystore\\development.keystore.jks")
storePassword = "development"
keyAlias = "development"
keyPassword = "development"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
cinema {
debuggable false
signingConfig signingConfigs.cinema
jniDebuggable false
applicationIdSuffix ".cinema"
}
dev {
debuggable true
signingConfig signingConfigs.dev
jniDebuggable true
applicationIdSuffix ".dev"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src', 'src-gen']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
debug {
}
dev {
res.srcDirs = ['res_dev']
}
cinema {
res.srcDirs = ['res_cinema']
}
androidTest.setRoot('tests')
}
packagingOptions {
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
}
}
dependencies {
compile 'joda-time:joda-time:2.3'
compile 'com.android.support:support-v4:21.0.0'
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.google.android.gms:play-services-plus:8.3.0'
compile 'com.google.android.gms:play-services-auth:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
compile 'com.markupartist.android.widget:pulltorefresh:1.0@aar'
compile 'com.paypal.sdk:paypal-android-sdk:2.13.3'
compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') {
transitive = true;
}
compile files('libs/gson-2.2.4.jar')
compile files('libs/twitter4j-core-4.0.2.jar')
compile files('libs/core-3.1.0.jar')
compile files('libs/estimote-sdk-preview.jar')
compile files('libs/commons-codec-1.10.jar')
compile files('libs/commons-lang-2.6.jar')
compile files('libs/FastPaySDK_pro.jar')
}
Подробнее здесь: https://stackoverflow.com/questions/365 ... -directory
APK-файл Android слишком велик из-за каталога lib ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1735233548
Anonymous
Я создаю приложение для Android, размер APK-файла которого составляет около 4 МБ. Пару недель назад при создании подписанного приложения размер созданного APK-файла составлял около 17 МБ.
После выяснения, почему это происходит, я обнаружил, что новые архивы APK содержат /lib, которого не было в старых APK-файлах размером 4 МБ. Кто-нибудь знает, почему этот каталог lib внезапно появляется в архиве APK и есть ли способ его удалить?
Структура каталога /lib внутри архива APK:
/lib
/arm64-v8a
/armeabi
/armeabi-v7a
/mips
/x86
/x86_64
Я недавно обновил Android Studio до версии 2.0, а также обновил Gradle. Может ли это быть проблемой и есть ли какие-то параметры конфигурации, которые могут решить эту проблему?
Мой файл Gradle выглядит так:
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
flatDir { dirs 'aars' }
}
android {
// when changing this, YOU MUST change C:\AndroidADT\sdk\build-tools\xx.yy.zz\dx.bat to have -> set java_exe=C:\Windows\System32\java.exe
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
minSdkVersion 11
targetSdkVersion 21
}
def homeDir = System.getenv('HOMEDRIVE') + System.getenv('HOMEPATH');
signingConfigs {
cinema {
storeFile = file("keystore\\cinema.keystore.jks")
storePassword = "cinema"
keyAlias = "cinema"
keyPassword = "cinema"
}
dev {
storeFile = file("keystore\\development.keystore.jks")
storePassword = "development"
keyAlias = "development"
keyPassword = "development"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
cinema {
debuggable false
signingConfig signingConfigs.cinema
jniDebuggable false
applicationIdSuffix ".cinema"
}
dev {
debuggable true
signingConfig signingConfigs.dev
jniDebuggable true
applicationIdSuffix ".dev"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src', 'src-gen']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
debug {
}
dev {
res.srcDirs = ['res_dev']
}
cinema {
res.srcDirs = ['res_cinema']
}
androidTest.setRoot('tests')
}
packagingOptions {
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
}
}
dependencies {
compile 'joda-time:joda-time:2.3'
compile 'com.android.support:support-v4:21.0.0'
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.google.android.gms:play-services-plus:8.3.0'
compile 'com.google.android.gms:play-services-auth:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
compile 'com.markupartist.android.widget:pulltorefresh:1.0@aar'
compile 'com.paypal.sdk:paypal-android-sdk:2.13.3'
compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') {
transitive = true;
}
compile files('libs/gson-2.2.4.jar')
compile files('libs/twitter4j-core-4.0.2.jar')
compile files('libs/core-3.1.0.jar')
compile files('libs/estimote-sdk-preview.jar')
compile files('libs/commons-codec-1.10.jar')
compile files('libs/commons-lang-2.6.jar')
compile files('libs/FastPaySDK_pro.jar')
}
Подробнее здесь: [url]https://stackoverflow.com/questions/36567235/android-apk-file-too-big-because-of-lib-directory[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия