我正在将我的遗留项目从Eclipse迁移到Android工作室。我做了以下事情:
项目的根文件夹包含3个库项目: Actionbarsherlock , Authbahn 和库。我的根文件夹还包含名为 JohelpenHulpverlener 的主项目。
解决了很多错误后,我收到以下错误:
Error:A problem was found with the configuration of task ':checkDebugManifest'.
> File 'C:\android\jeugdformaat\JohelpenHulpverlener\AndroidManifest.xml' specified for property 'manifest' does not exist.
我的root build.gradle看起来像这样:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
compile project(":actionbarsherlock")
}
android {
compileSdkVersion 17
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
主项目中的build.gradle如下所示:
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':library')
compile project(':actionbarsherlock')
compile project(':autobahn')
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
我想了解这一点,希望有人可以帮助我在这里!
答案 0 :(得分:5)
你的根级Gradle构建文件中有很多东西让构建系统认为那里有一个Android模块(它不是;它是 JohelpenHulpverlener 中的子目录),以及它失败了,因为它没有找到清单。
我认为如果您从根级 build.gradle 文件中取出很多东西,并将其替换为新项目的默认版本,即:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
它会起作用。
答案 1 :(得分:1)
确保外面有这样的标签:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example"
android:versionCode="1"
android:versionName="1.0" >
...
</manifest>
答案 2 :(得分:1)
在 build.gradle 文件中指定包名称,如
android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 11
targetSdkVersion 19
versionCode 27
versionName "1.5.6"
}
}
applicationId "com.myapp"
这里“com.myapp”是我的应用的包名。
我希望这会对你有所帮助。
答案 3 :(得分:1)
将eclipse项目迁移到android studio时遇到了同样的问题。 问题是android studio创建的根Gradle构建文件是错误的,它应该是这样的:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
}
}
更新:似乎Android Studio的最新版本1.4修复了问题,现在我们可以轻松地将eclipse项目导入工作室
答案 4 :(得分:0)
Build-&gt; Rebuild为我解决了它。
答案 5 :(得分:-2)
我知道这是一篇很老的帖子,但昨晚我帮助了一位刚接触编程问题的朋友。您的建议已经过审核但不适用。错误之前的最后一个操作是向项目添加列表视图布局。我让他们删除它,片刻之后错误就消失了。
我没有在这个场景中发现任何其他帖子和这个结论,所以我认为在这里分享它可能会帮助其他人。
结论:将新组件添加到错误的位置可能是导致此类错误的另一个原因。