Update project to use Android Gradle plugin 4.0 and support Java 8 desugaring.

Also migrate from kotlin-stdlib-jdk7 to kotlin-stdlib-jdk8.
This commit is contained in:
Isira Seneviratne 2020-05-15 12:05:42 +05:30
parent 3be067bf4d
commit 5405e18ee8
4 changed files with 43 additions and 8 deletions

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://maven.google.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
</component>
</project>

View File

@ -57,6 +57,9 @@ android {
targetSdkVersion 28
versionCode buildVersionCode().toInteger()
versionName buildVersionName()
// Required when setting minSdkVersion to 20 or lower
multiDexEnabled true
}
buildTypes {
@ -76,6 +79,9 @@ android {
compileOptions {
sourceCompatibility '1.8'
targetCompatibility '1.8'
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = '1.8'
@ -105,12 +111,15 @@ ext {
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'commons-io:commons-io:2.6'
implementation 'org.apache.commons:commons-lang3:3.10'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testImplementation 'androidx.test:core:1.2.0'
testImplementation 'com.google.guava:guava-testlib:28.2-jre'

View File

@ -60,7 +60,8 @@
android:label="@string/app_name"
android:theme="@style/Theme.Styled"
android:largeHeap="true"
android:banner="@drawable/banner">
android:banner="@drawable/banner"
android:name="androidx.multidex.MultiDexApplication">
<activity
android:name="edu.berkeley.boinc.SplashActivity"
@ -81,11 +82,6 @@
android:label="@string/app_name"
android:launchMode="singleTop"
android:exported="true"/>
<activity android:name="edu.berkeley.boinc.attach.AcctMgrFragment">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="edu.berkeley.boinc.BOINCActivity"/>
</activity>
<activity
android:name="edu.berkeley.boinc.attach.SelectionListActivity"
android:theme="@style/Theme.Styled.NoActionBar"/>

View File

@ -10,7 +10,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
classpath 'com.android.tools.build:gradle:4.0.0-rc01'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.16.0'
}