Android Gradle Plugin 2.2.0 (Eylül 2016)
- Bağımlılıklar:
- Yeni:
-
- Performans iyileştirmeleri içeren Gradle 2.14.1'i kullanır ve kötü amaçlı yazılım bulaşması ya da yerel ayrıcalık artırma sisteminden yararlanabilirsiniz. Daha fazla daha fazla bilgi için Gradle sürüm notları.
-
externalNativeBuild {}
DSL, Gradle artık şunları yapmanıza olanak tanır: bağlayıp yerel kitaplıkları derleyin CMake veya ndk-build. Yerel kitaplıklarınızı oluşturduktan sonra Gradle bunları APK'nıza paketler. CMake ve kullanma hakkında daha fazla bilgi edinmek için ndk-build with Gradle ile şunu okuyun: Add C ve C++ Code to Your Proje. - Bir komut satırından derlerseniz Gradle artık otomatik projenizin bağlı olduğu eksik SDK bileşenleri veya güncellemeleri. Daha fazla bilgi için Otomatik indirme Gradle'daki eksik paketlerle ilgili daha fazla bilgi edinin.
- Yeni deneysel önbelleğe alma özelliği sayesinde Gradle, derleme işlemini hızlandırıyor dizinlenmiş sürümlerini önceden dizine ekleyerek, depolayarak ve yeniden kullanarak emin olmanız gerekir. Bu deneysel özelliği kullanma hakkında daha fazla bilgi edinmek için Derlemeyi Önbellek kılavuzu.
- Yeni bir varsayılan paketleme benimseyerek derleme performansını iyileştirir
tek görevde sıkıştırma, imzalama ve zipaligning işlemlerini gerçekleştiren ardışık düzen. Siz
eski paketleme araçlarını tekrar kullanmaya başlamak için
android.useOldPackaging=true
-gradle.properties
dosya Yeni paketi kullanırken araç,zipalignDebug
görevi kullanılamaz. Ancak,createZipAlignTask(String taskName, File inputFile, File outputFile)
yöntemini çağırın. - APK imzalama artık APK İmza Şeması'nı kullanıyor
v2'yi kullanmanızı öneririz. Tüm Android platformları şu şartları kabul eder:
APK'lar oluşturabilirsiniz. İmzalamadan sonra bu APK'larda yapılacak herhangi bir değişiklik, APK'ların
v2 imzalarını taşır ve cihazda yüklemeyi engeller. Bu özelliği devre dışı bırakmak için:
modül düzeyindeki
build.gradle
dosyanıza şunu ekleyin:Eski
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- Multidex derlemelerinde, istediğiniz zaman hangi
Gradle sınıfları uygulamanızın ana DEX dosyasında derlenmelidir. Çünkü
Android sistemi uygulamanızı başlatırken ilk olarak ana DEX dosyasını yükler.
ana DEX'te derleyerek başlangıçta belirli sınıfları önceliklendirebilir
dosyası olarak kaydedebilirsiniz. Özel olarak bir ProGuard yapılandırma dosyası oluşturduktan sonra
ana DEX dosyasını kullanarak yapılandırma dosyasının yolunu
buildTypes.multiDexKeepProguard
Bu DSL farklı bir şekilde kullanılıyor kullanılmasını engeller Genel ProGuard sağlayanbuildTypes.proguardFiles
kuralları belirlemeniz ve ana DEX dosyası için sınıf belirtmemesi gerekir. android:extractNativeLibs
işareti için destek ekler, Bu nedenle, uygulamanızı bir bilgisayara yüklediğinizde boyutunu olanak tanır. Bu işaretifalse
olarak<application>
öğesi oluşturun. Sıkıştırılmamış Gradle paketleri ve APK'nızla yerel kitaplıklarınızın uyumlu sürümlerini. BuPackageManager
engelleniyor APK'dan cihazın kendi kitaplığına yerel kitaplıklarınızı kopyalamadan yükleme sırasında dosya sistemi oluşturur. Ayrıca, delta güncellemelerinin boyutu küçültülür.- Artık şu değeri belirtebilirsiniz:
versionNameSuffix
veapplicationIdSuffix
kullanın. (Sorun 59614)
- Değişiklikler:
-
-
getDefaultProguardFile
artık varsayılan ProGuard'ı döndürüyor Gradle için Android eklentisinin sağladığı ve artık vermediği dosyalar Android SDK'dakileri kullanır. - İyileştirilmiş Jack derleyici performansı ve özellikleri:
- Jack artık
testCoverageEnabled
-true
. - İyileştirilmiş ek açıklama işlemcileri desteği. Not
sınıf yolunuzdaki işleyenler (ör.
compile
) özellikleri, derlemenize otomatik olarak uygulanır. Şunları yapabilirsiniz: derleme ve geçişinizde bir ek açıklama işlemcisi de belirtin bağımsız değişkenlerin önüne geçmek içinjavaCompileOptions.annotationProcessorOptions {}
DSL modül düzeyindekibuild.gradle
dosyası:Eski
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } }
Kotlin
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } }
Derleme sırasında ek açıklama işlemcisi uygulamak istiyorsanız APK'nıza dahil etmek istemiyorsanız
annotationProcessor
bağımlılık kapsamı:Eski
dependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant }
Kotlin
dependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant }
Ayarlayabileceğiniz parametrelerin listesi için aşağıdaki komutu çalıştırın: komut satırından ekleyin:
java -jar /build-tools/jack.jar --help-properties
- Jack artık
- Varsayılan olarak, Gradle arka plan programının yığın boyutu en az 1,5 ise
GB, Jack artık Gradle ile aynı işlemde çalışmaktadır.
arka plan yığın boyutunuz varsa, aşağıdakini
gradle.properties
dosyası:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M
-
Minimum sürüm | Varsayılan sürüm | Notlar | |
---|---|---|---|
Gradle | 2.14.1 | 2.14.1 | Daha fazla bilgi edinmek için Gradle'ı güncelleme sayfasına göz atın. |
SDK Derleme Araçları | 23.0.2 | 23.0.2 | SDK Derleme Araçları'nı yükleyin veya yapılandırın. |