Tôi có một ứng dụng mà tham khảo ~ 100K phương pháp, với min SDK = 16Chiến lược tốt khi giao dịch với Proguard, MultiDex, Thử nghiệm và Hương vị sản phẩm là gì?
Đây là 2 lựa chọn cho lắp ráp:
- Proguard teo bó này các phương pháp để chỉ 44K phương pháp
- Sử dụng nhiều Dex
Bây giờ tôi có một số trường hợp sử dụng chung:
- Run và debug trên giả lập và các thiết bị
- Nó đòi hỏi để chạy càng nhanh càng tốt
- làm xét nghiệm (Integration và UI)
- Nó đòi hỏi để chạy (Tôi có một số vấn đề chạy Espresso với MultiDex)
- Hãy aPK Prod
- Nó đòi hỏi là đáng tin cậy và co càng tốt
Bạn có kẻ một số NHẬN ĐỊNH về chiến lược lắp ráp?
3/Prod
- Sử dụng Proguard để giảm kích thước apk
- Sử dụng Proguard xáo trộn
- Không sử dụng Multidex như hầu hết càng tốt (có thể thất bại)
2/Thử nghiệm
- Sử dụng minSdkVersion 21 (Tôi đọc bắt đầu bằng 21 cho phép đặt trước dexing, tiết kiệm thời gian)
- ???
1/Debug
- Sử dụng minSdkVersion 21 (Tôi đọc mà bắt đầu bằng 21 cho phép trước Dexing, mà tiết kiệm thời gian)
- ???
Dưới đây là file Gradle:
productFlavors {
dev {
minSdkVersion 21
multiDexEnabled ???
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion ANDROID_BUILD_MIN_SDK_VERSION
multiDexEnabled false
}
}
defaultConfig {
applicationId "xxxx"
targetSdkVersion ANDROID_BUILD_TARGET_SDK_VERSION
minSdkVersion ANDROID_BUILD_MIN_SDK_VERSION
versionCode ANDROID_BUILD_VERSION_CODE
versionName ANDROID_BUILD_APP_VERSION_NAME
}
buildTypes {
release {
debuggable false
ext.enableCrashlytics = true
renderscriptOptimLevel 3
signingConfig android.signingConfigs.release
zipAlignEnabled true
minifyEnabled true
// shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
renderscriptOptimLevel 3
applicationIdSuffix ".debug"
versionNameSuffix "debug"
minifyEnabled false
}
}
có thể thêm validation.initWith (buildTypes.debug) cho điểm mở đầu tiên (để được kiểm tra) – Anthony
Tôi thấy điểm "sử dụng quy tắc Proguard tối ưu hóa chỉ để giải phóng getDefaultProguardFile ('proguard-android-optimization.txt'), để kiểm tra và gỡ lỗi chỉ sử dụng getDefaultProguardFile ('proguard- android.txt ') "được cung cấp. Tại sao chúng tôi không chạy thử nghiệm với mã Tối ưu hóa? Tôi đã thực hiện các thử nghiệm trên mã của mình với sự làm xáo trộn, nhưng tôi đang đối mặt với các vấn đề với mã được tối ưu hóa. –