У меня есть проект Android с рабочим файлом build.gradle
. Это используется для создания Android приложения. Кроме того, теперь я хотел бы добавить свой код сервера (обычный java) в этот проект и настроить файл build.gradle
для запуска / запуска приложения эмулятора, как обычно, а также создать файл jar
кода сервера, который Я могу развернуться на своем сервере.
Я новичок в Gradle и Groovy, поэтому я не уверен в том, как правильно написать задачи для достижения моей цели, как описано выше. Я бы очень признателен за помощь в настройке этого файла сборки. Я знаю, что мне понадобятся плагины jar и java, но не могу понять, как интегрировать все в сборку Android.
Что у меня есть в (рабочем) файле сборки :
apply plugin: 'com.android.application'
apply plugin: 'jacoco'
android {
compileSdkVersion 29
buildToolsVersion '29.0.3'
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}
task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {
reports {
xml.enabled = true
html.enabled = true
}
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
def debugTree = fileTree(dir: "${buildDir}/intermediates/javac/debug", excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec")
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
// https://mvnrepository.com/artifact/com.esotericsoftware/kryonet
implementation 'com.esotericsoftware:kryonet:2.22.0-RC1'
}