我有一个android项目,其中既有Java的文件,也有kotlin的文件。
编译后,当我解压缩生成的apk文件时,我可以在它们的包路径中看到我的项目的所有Kotlin文件。然而,Java的档案并不存在。
我怎样才能修复这个问题,并阻止Koltin文件被添加到apk中?
谢谢
我的建筑。Gradle:
buildscript { ext.kotlin_version = '1.2.71' repositories { jcenter() maven { url 'https://maven.fabric.io/public' } google() } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'com.google.gms.google-services' repositories { maven { url "https://jitpack.io" } mavenCentral() jcenter() flatDir{ dirs 'libs' } } dependencies { implementation fileTree(dir: 'libs', include: '*.jar') /* A bunch of dependencies */ } android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { minSdkVersion 19 targetSdkVersion 27 multiDexEnabled true setOutputPath applicationVariants, goevent["outputDir"], goevent["outputName"] setOutputPath testVariants, goevent["outputDir"], goevent["outputNameTest"] } dataBinding { enabled = true } packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' exclude 'main/AndroidManifest.xml' pickFirst 'META-INF/maven/com.squareup.okio/okio/pom.properties' pickFirst 'META-INF/maven/com.squareup.okio/okio/pom.xml' } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } androidTest.setRoot('tests') debug.setRoot('build-types/debug') release.setRoot('build-types/release') } signingConfigs { release { //Fetch the signing file File signFile = rootProject.file('signing.properties') //Read the signing properties file Properties properties = new Properties() properties.load(new FileInputStream(signFile)) if (properties['signingKeystorePath'] && properties['signingKeystorePassword'] && properties['signingKeyAlias'] && properties['signingKeyPassword']) { String toolsPath = System.getenv("TOOLS") if(toolsPath != null) { storeFile file(toolsPath + properties['signingKeystorePath']) storePassword properties['signingKeystorePassword'] keyAlias properties['signingKeyAlias'] keyPassword properties['signingKeyPassword'] } } else { //If the signing file doesn't exist or the properties are not set if (project.hasProperty("signingKeystorePath")) { storeFile file("$signingKeystorePath") storePassword signingKeystorePassword keyAlias signingKeyAlias keyPassword signingKeyPassword } } } } lintOptions { abortOnError false } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.pro' signingConfig signingConfigs.release zipAlignEnabled true } } dexOptions { jumboMode = true } } def setOutputPath(variants, dir, name) { variants.all { variant -> variant.outputs.all { output -> def relativeRootDir = output.packageApplication.outputDirectory.toPath() .relativize(rootDir.toPath()).toFile() output.outputFileName = new File("$relativeRootDir/$dir", name) } } }
终于找到了问题所在:
我必须从源集中删除资源.srcdirs=['src']
这是在复制src文件夹下包含的所有非Java文件
问题内容: 我下载了APK Manager,可以解压缩APK文件。 但它只会解压缩它,不会将.smali文件反编译为.java。 可以将.smali反编译为.java吗? 问题答案: 不,APK管理器反编译 的文件导入和二进制到人类可读的XML。 序列(基于APK Manager 4.9)为 22, 以选择包,然后为 9, 以对其进行反编译。如果按1而不是9,则只需将其打开包装(仅在要交换.png
在一些网站上,我读过“使用一些反编译程序反编译apk是可能的”。(即)从apk文件中获取源代码。 但我想保护我的代码。反编译后不显示加密算法代码或者不想反编译我的apk文件。那有可能吗?请你给点建议好吗?
我在Android studio中创建了一个Android应用程序,并使用Kotlin作为编程语言 现在我的应用程序完成了,我想构建我的应用程序,但构建应用程序后,我的APK文件大小变为35mb<我的可绘制文件夹大小是2mb,我没有任何大文件,但为什么我的应用程序大小是35mb?! 为了生成测试apk版本,我使用了构建- 但是当我使用java语言时,这个大小是7mb!!! 我使用了这些依赖项: 我
我使用以下链接中的说明从Eclipse导出项目并导入到Android Studio:http://developer.Android.com/sdk/installing/migrate.html 当我构建时,我有一个错误: 经过搜索,我找到了一个解决方案:添加 但我不明白为什么我会出现这个错误,为什么我必须应用那个修复程序。有人能解释吗?
本文向大家介绍Android Studio编写AIDL文件后如何实现自动编译生成,包括了Android Studio编写AIDL文件后如何实现自动编译生成的使用技巧和注意事项,需要的朋友参考一下 在目录src/main 下新建了aidl 文件夹之后,在aidl文件夹中也创建了相同的包路径, 创建AIDL文件 XXX.aidl 如果XXX.aidl引用了一个java下的model例如引用了a.b.c
我正在Android Studio将一个Java Android项目转换为Kotlin,但我遇到了一些问题。