我用一个开关构建了一个简单的手电筒应用程序,它工作正常。我决定查看apk生成的内容,所以我反编译了我的应用程序,在查看每个文件夹后,我在res /文件夹中发现非常不必要的文件,如 anim , values-sr , values-uk , values-ur ,颜色, drawable-v21 等等(约90) )每个包含2 kB XML。我没有在我的应用程序中使用所有这些,因为我只有一个开关,所有这些不必要的东西增加了我的apk大小,并且由于这个Android Studio也在R.java文件中生成了许多不必要的条目。任何人都可以帮助我防止在Android Studio中生成所有这些,以便我的apk变得更小。
编辑:这是gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.camera2"
minSdkVersion 21
targetSdkVersion 25
versionCode 1
versionName "1.0"
resConfigs "en"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
sourceSets{
res {
resources{
exclude {'**/drawable-ldrtl-hdpi-v17/*'}
exclude 'drawable-ldrtl-hdpi-v17'
}
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug{
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.2.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
答案 0 :(得分:1)
解压缩后生成的文件默认为应用程序,因为应用程序需要运行和显示这些文件。如果Refactor方法不起作用,您可以进入 AndroidStudioProjects 文件夹,搜索您的应用程序并手动删除不需要的文件。您可以将以下代码添加到build.gradle
defaultConfig {
// ...
resConfigs "en"
resConfigs "nodpi", "hdpi", "xhdpi"
}
您还可以使用shrinkResources true
来缩小应用尺寸。
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
答案 1 :(得分:0)
在AndroidStudio中
重构 - >删除未使用的Resoursces - >重构