热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android-编译后apk中存在Kotlin文件

如何解决《Android-编译后apk中存在Kotlin文件》经验,为你挑选了1个好方法。

我有一个同时包含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文件


推荐阅读
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
author-avatar
殇者残雪_270
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有