作者:殇者残雪_270 | 来源:互联网 | 2022-11-29 19:00
我有一个同时包含Java和Kotlin文件的android项目。
编译后,当我解压缩生成的apk文件时,可以在其程序包路径中看到我项目的所有Kotlin文件。但是,Java文件不存在。
如何解决此问题,并阻止Koltin文件被添加到apk中?
谢谢
我的build.gradle:
buildscript {
ext.kotlin_version ='1.2.71'
储存库{
jcenter()
maven {url'https://maven.fabric.io/public'}
谷歌()
}
依赖项{
classpath'com.android.tools.build:gradle:3.1.3'
类路径“ org.jetbrains.kotlin:kotlin-gradle-plugin:$ kotlin_version”
}
}
应用插件:“ com.android.application”
应用插件:“ kotlin-android”
应用插件:“ kotlin-android-extensions”
应用插件:“ kotlin-kapt”
应用插件:“ com.google.gms.google-services”
储存库{
专家{url“ https://jitpack.io”}
mavenCentral()
jcenter()
flatDir {
dirs'libs'
}
}
依赖项{
实现fileTree(dir:'libs',包括:'* .jar')
/ *一堆依赖项* /
}
android {
compileSdkVersion 27
buildToolsVersion '27 .0.3'
defaultConfig {
minSdkVersion 19
targetSdkVersion 27
multiDexEnabled是
setOutputPath applicationVariants,goevent [“ outputDir”],goevent [“ outputName”]
setOutputPath testVariants,goevent [“ outputDir”],goevent [“ outputNameTest”]
}
dataBinding {
启用=真
}
包装选项{
排除“ META-INF / DEPENDENCIES”
排除“ META-INF /许可”
排除“ META-INF / NOTICE”
排除“ main / AndroidManifest.xml”
pickFirst'META-INF / maven / com.squareup.okio / okio / pom.properties'
pickFirst'META-INF / maven / com.squareup.okio / okio / pom.xml'
}
sourceSets {
主要{
manifest.srcFile'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
asset.srcDirs = ['资产']
jniLibs.srcDirs = ['libs']
}
androidTest.setRoot('tests')
debug.setRoot('build-types / debug')
release.setRoot('build-types / release')
}
signingConfigs {
发布 {
//获取签名文件
文件signFile = rootProject.file('signing.properties')
//读取签名属性文件
属性properties =新的Properties()
properties.load(新的FileInputStream(signFile))
如果(properties ['signingKeystorePath'] &&属性['signingKeystorePassword'] &&属性['signingKeyAlias'] &&属性['signingKeyPassword']){
字符串toolsPath = System.getenv(“ TOOLS”)
if(toolsPath!= null){
storeFile文件(toolsPath +属性['signingKeystorePath'])
storePassword属性['signingKeystorePassword']
keyAlias属性['signingKeyAlias']
keyPassword属性['signingKeyPassword']
}
}其他{
//如果签名文件不存在或未设置属性
如果(project.hasProperty(“ signingKeystorePath”)){
storeFile文件(“ $ signingKeystorePath”)
storePassword签名密钥库密码
keyAlias签名
keyPassword签名KeyPassword
}
}
}
}
lintOptions {
abortOnError false
}
buildTypes {
发布 {
minifyEnabled是
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard.pro'
signingConfig signingConfigs.release
zipAlignEnabled是
}
}
dexOptions {
jumboMode = true
}
}
def setOutputPath(variant,dir,name){
variants.all {variant->
variant.outputs.all {输出->
def relativeRootDir = output.packageApplication.outputDirectory.toPath()
.relativize(rootDir.toPath())。toFile()
output.outputFileName =新文件(“ $ relativeRootDir / $ dir”,名称)
}
}
}
Leguman..
5
终于找到了问题:
我不得不resources.srcDirs = ['src']
从资料集中删除
这是复制src文件夹下包含的所有非Java文件
1> Leguman..:
终于找到了问题:
我不得不resources.srcDirs = ['src']
从资料集中删除
这是复制src文件夹下包含的所有非Java文件