Android Gradle源集资源未复制基本目录
我目前正在通过gradle自动化android构建,但我的build.gradle文件没有将整个res/或assets/dir复制到我制作的apk中 澄清: 所需的Android Gradle源集资源未复制基本目录,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,我目前正在通过gradle自动化android构建,但我的build.gradle文件没有将整个res/或assets/dir复制到我制作的apk中 澄清: 所需的res/和assets/目录的内容被复制到apk中,但实际的res/和assets/目录却找不到。为了使这种自动化与手动过程相匹配,我需要从手动构建过程到自动构建过程的无缝过渡。(生产的apk无差异) 我知道这必须是我处理源代码集和资源的方式,但我找不到任何方向/建议来说明我做错了什么 这是我的build.gradle文件: appl
res/
和assets/
目录的内容被复制到apk中,但实际的res/
和assets/
目录却找不到。为了使这种自动化与手动过程相匹配,我需要从手动构建过程到自动构建过程的无缝过渡。(生产的apk无差异)
我知道这必须是我处理源代码集和资源的方式,但我找不到任何方向/建议来说明我做错了什么
这是我的build.gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src','../res','../assets']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
defaultConfig {
applicationId "***************"
minSdkVersion 19
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
我的目录结构(松散表示):
我认为你应该这样做,但是,我不太确定相对路径
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res','../res']
assets.srcDirs = ['assets', '../assets']
}
}
我不知道你想做什么。我刚刚做了
File>New>Folder>Assets文件夹
,它让我选择了src/main/Assets
,然后我构建了一个APK,res/
和Assets/
文件夹都在APK文件的顶层。我根本没碰Gradle,这是一个全新的项目,所以我有了默认的Gradle文件…同意,制作一个新项目就像天堂,相比之下,将这个乱七八糟的应用程序从eclipse迁移到android studio,而不做任何逻辑目录结构更改。老问题是有太多的独立开发人员在同一个项目上工作,而没有代码审查……是的,就是这样。谢谢你,@cricket\u 007!!欢迎您可以使用答案旁边的复选标记向网站上的其他人表明这是您问题的解决方案,以此表示感谢
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res','../res']
assets.srcDirs = ['assets', '../assets']
}
}