Как получить apk относительного пути моего проекта в Gradle 6.5.1
Я изменил версию gradle 5.6.1 на 6.5.1, а также com.android.tools.build:gradle:3.5.0 на com.android.tools.build:gradle:4.0.1. После этого я получил FAILURE: Build failed с исключением.
* What went wrong:
A problem occurred configuring project ':app'.
> groovy.lang.MissingMethodException: No signature of method: org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar.toPath() is applicable for argument types: () values: []
Possible solutions: with(groovy.lang.Closure), each(groovy.lang.Closure), tap(groovy.lang.Closure), with(boolean, groovy.lang.Closure), getAt(java.lang.String), putAt(java.lang.String, java.lang.Object)
Я понимаю, что в новом Gradle не существует метода.toPath(), но какая альтернатива была добавлена в новый Gradle? Или существует другой способ узнать относительный путь моего проекта?
вот пример кода:
buildTypes {
release {
applicationVariants.all { variant ->
variant.outputs.all { output ->
def relative_apk_folder = output.packageApplication.outputDirectory.toPath().relativize(project.rootDir.toPath()).toString() + "/bin/"
outputFileName = new File("$relative_apk_folder" + "MyAPK.apk")
}
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.sign_app
}
debug {
}
}
1 ответ
Решение
Попробуй это:
def relative_apk_folder = "../../../../../bin/" outputFileName = новый файл (relative_apk_folder + "MyAPK.apk")
Это помогло в моем проекте.