Failed to build android project using gradle
android, build, gradle
Solution
As is described in: http://tools.android.com/tech-docs/new-build-system/using-the-new-build-system#TOC-Working-with-and-Customizing-SourceSets
Default sourceset location is under `src/<sourceset>`
Your `sourceset` name is `main` so location is `src/main`
Additionally, `manifest` property is described:
manifest, type AndroidSourceFile, default location `src/<sourceset>/AndroidManifest.xml`
I guess that declaration of manifest:
manifest {
srcFile 'AndroidManifest.xml'
}
is same as default and ends up with location:
src/main/AndroidManifest.xml
which is listed in exception message.
I think this is how gradle android plugin works. Correct me if I'm wrong, I don't know Gradle.
EDIT
Ok, now I know what's wrong. Your build script mixes settings from two different plugins.
Change:
classpath 'com.android.tools.build:gradle:0.1'
to
classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1'
Remove `android` block, but keep the body.
Remove `sourceSets` block with body.
Then it should work, I tested it this time.
EDIT 2
This is Windows related bug, fixed 6 days ago:
https://github.com/jvoegele/gradle-android-plugin/pull/89
that what you can do is to download latest plugin version
git clone git://github.com/jvoegele/gradle-android-plugin.git
and install it in local maven repository:
gradle install
then add `mavenLocal()` to repositories:
repositories {
mavenCentral()
mavenLocal()
}
and change plugin version to the snapshot:
dependencies {
classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.2-SNAPSHOT'
}
Problem
I am having trouble building a simple android project using Gradle. My build file is below: ``` buildscript { repositories { mavenCentral() // To use a development snapshot version of the plugin, add the // Sonatype Snapshots repository. maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies { classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1' } } apply plugin: 'android' repositories { mavenCentral() } // Sets the package version version = "1.0.0" // Signing configuration, valid for all builds (1) androidSignAndAlign { keyStore = "path/to/my/keystore" keyAlias = "my-key-alias" keyStorePassword = "mystorepass" keyAliasPassword = "myaliaspass" } // Configure the filtering of resources with properties from the Gradle's project scope (2) processResources { expand (project.properties) } // Configure a dedicated debug build (3) task configureDebug << { jar.classifier = "debug" } // Configure a dedicated release build (4) task configureRelease << { proguard.enabled = true } ``` The error i get is this: ``` 11:08:24.812 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception. 11:08:24.822 [ERROR] [org.gradle.BuildExceptionReporter] 11:08:24.829 [ERROR] [org.gradle.BuildExceptionReporter] * Where: 11:08:24.834 [ERROR] [org.gradle.BuildExceptionReporter] Build file 'C:\Users\Work\AndroidProjects\RssUnified\build.gradle' line: 114 11:08:24.840 [ERROR] [org.gradle.BuildExceptionReporter] 11:08:24.845 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: 11:08:24.850 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred evaluating root project 'RssUnified'. 11:08:24.855 [ERROR] [org.gradle.BuildExceptionReporter] > For input string: "21 rc11" 11:08:24.864 [ERROR] [org.gradle.BuildExceptionReporter] 11:08:24.870 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is: 11:08:24.875 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'RssUnified'. 11:08:24.880 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFac tory.java:54) 11:08:24.885 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.jav a:127) ``` using gradle 1.2 edit: here is my layout xml file ``` <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > </RelativeLayout> ``` And here is the actvivity ``` public class RssListActivity extends Activity { /* * (non-Javadoc) * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.list_activity_layout); } } ``` Project structure below: ``` ├───.gradle │ └───1.2 │ └───taskArtifacts ├───assets ├───bin │ ├───classes │ │ └───com │ │ ├───jr │ │ │ ├───screenLogic │ │ │ └───screens │ │ └───richy │ │ └───rssunified │ └───res ├───build │ └───gen │ └───com │ └───richy │ └───rssunified ├───gen │ └───com │ └───richy │ └───rssunified ├───res │ ├───drawable-hdpi │ ├───drawable-ldpi │ ├───drawable-mdpi │ ├───drawable-xhdpi │ ├───layout │ ├───values │ ├───values-v11 │ └───values-v14 └───src └───com └───jr ├───screenLogic └───screens ``` Here is what is in the root folder of the project ``` AndroidManifest.xml assets bin build build.gradle gen gradle.properties ic_launcher-web.png local.properties project.properties res src ``` And finaly the android manifest: ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.richy.rssunified" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme"> </application> </manifest> ``` Local.properties ``` sdk.dir = C:/Program Files (x86)/Android/android-sdk ``` project.properties ``` # This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. target=android-15 ``` edit: i have reverted back to older version of the adt/sdk plugins and managed to fix the issues above, however after i did that, i now get the above error below: ``` 15:24:24.558 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :androidProcessResources FAILED 15:24:24.571 [ERROR] [org.gradle.BuildExceptionReporter] 15:24:24.575 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception. 15:24:24.582 [ERROR] [org.gradle.BuildExceptionReporter] 15:24:24.588 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: 15:24:24.597 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':androidProcessResources'. 15:24:24.602 [ERROR] [org.gradle.BuildExceptionReporter] > Unexpected internal error near index 1 15:24:24.607 [ERROR] [org.gradle.BuildExceptionReporter] \ 15:24:24.613 [ERROR] [org.gradle.BuildExceptionReporter] ^ 15:24:24.621 [ERROR] [org.gradle.BuildExceptionReporter] 15:24:24.626 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is: 15:24:24.631 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':androidProcessResources'. 15:24:24.636 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecu ter.java:68) ```