And looks like you are right. I had int in my build.gradle
manifestPlaceholders:
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode buildNumber
versionName project.version
applicationId "my.app.id"
/* build info in res */
resValue 'string', 'application_name', 'MyAPP'
resValue 'string', 'application_package', applicationId
resValue 'string', 'application_version', versionName
resValue 'string', 'application_buildNumber', "$buildNumber"
resValue 'string', 'build_SHA', gitSha
resValue 'string', 'build_branch', gitBranch
resValue 'string', 'build_timestamp',
"L${System.currentTimeMillis()}" // android res long number workaround
manifestPlaceholders = ['android.manifest.packageName':
'com.gowiper.android',
'android.manifest.versionName': project.
version,
'android.manifest.versionCode': buildNumber
]
}
// ...
}
Changing placeholders to
manifestPlaceholders = ['android.manifest.packageName':
'com.gowiper.android',
'android.manifest.versionName': project.
version,
'android.manifest.versionCode':
"$buildNumber" ] // to make string from int value buildNumber
Made stacktrace change to:
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task
':application:processDebugManifest'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter
.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(
SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(
ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.
execute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.
execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(
SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.
execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(
AbstractTask.java:305)
at org.gradle.execution.taskgraph.
AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(
AbstractTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.
AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(
AbstractTaskPlanExecutor.java:63)
at org.gradle.execution.taskgraph.
AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.
java:51)
at org.gradle.internal.concurrent.
DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.
java:64)
Caused by: java.lang.ClassCastException: org.codehaus.groovy.runtime.
GStringImpl cannot be cast to java.lang.String
at com.android.manifmerger.ManifestMerger2$MapBasedKeyBasedValueResolver.
getValue(ManifestMerger2.java:1005)
at com.android.manifmerger.PlaceholderHandler.visit(PlaceholderHandler.java:
89)
at com.android.manifmerger.PlaceholderHandler.visit(PlaceholderHandler.java:
76)
at com.android.manifmerger.ManifestMerger2.performPlaceHolderSubstitution(
ManifestMerger2.java:424)
at com.android.manifmerger.ManifestMerger2.load(ManifestMerger2.java:398)
at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:109)
at com.android.manifmerger.ManifestMerger2.access$1100(ManifestMerger2.java:
51)
at com.android.manifmerger.ManifestMerger2$Invoker.merge(ManifestMerger2.
java:982)
at com.android.builder.core.AndroidBuilder.mergeManifests(AndroidBuilder.
java:457)
at com.android.builder.core.AndroidBuilder$mergeManifests$4.call(Unknown
Source)
at com.android.build.gradle.tasks.MergeManifests.doFullTaskAction(
MergeManifests.groovy:125)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(
IncrementalTask.groovy:64)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
at org.gradle.api.internal.project.taskfactory.
AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(
AnnotationProcessingTaskFactory.java:235)
at org.gradle.api.internal.project.taskfactory.
AnnotationProcessingTaskFactory$StandardTaskAction.execute(
AnnotationProcessingTaskFactory.java:211)
at org.gradle.api.internal.project.taskfactory.
AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(
AnnotationProcessingTaskFactory.java:222)
at org.gradle.api.internal.project.taskfactory.
AnnotationProcessingTaskFactory$StandardTaskAction.execute(
AnnotationProcessingTaskFactory.java:200)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
executeActions(ExecuteActionsTaskExecuter.java:61)
... 13 more
вторник, 2 декабря 2014 г., 22:38:00 UTC+3 пользователь Jerome Dochez
написал:
>
> Looking at the code, I suppose something is related to placeholders
> defined in your build.gradle. would you mind sharing your build.gradle.
>
> thx, jerome
>
> On Mon Dec 01 2014 at 7:26:29 AM Vyacheslav Blinov <[email protected]
> <javascript:>> wrote:
>
>> Hi. I'm running android plugin version 1.0.0-rc1 on top of Gradle 2.2.0,
>> and having the following stacktrace while trying to build my project:
>>
>>
>> org.gradle.api.tasks.TaskExecutionException: Execution failed for task
>> ':application:processReleaseManifest'.
>> at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
>> executeActions(ExecuteActionsTaskExecuter.java:69)
>> at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
>> execute(ExecuteActionsTaskExecuter.java:46)
>> at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecu
>> ter.execute(PostExecutionAnalysisTaskExecuter.java:35)
>> at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.
>> execute(SkipUpToDateTaskExecuter.java:64)
>> at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.
>> execute(ValidatingTaskExecuter.java:58)
>> at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecut
>> er.execute(SkipEmptySourceFilesTaskExecuter.java:42)
>> at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.
>> execute(SkipTaskWithNoActionsExecuter.java:52)
>> at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.
>> execute(SkipOnlyIfTaskExecuter.java:53)
>> at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.
>> execute(ExecuteAtMostOnceTaskExecuter.java:43)
>> at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFail
>> ure(AbstractTask.java:305)
>> at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$
>> TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
>> at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$
>> TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
>> at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$
>> TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
>> at org.gradle.internal.concurrent.DefaultExecutorFactory$
>> StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
>> Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast
>> to java.lang.String
>> at com.android.manifmerger.ManifestMerger2$MapBasedKeyBasedValueResolver.
>> getValue(ManifestMerger2.java:1005)
>> at com.android.manifmerger.PlaceholderHandler.visit(
>> PlaceholderHandler.java:89)
>> at com.android.manifmerger.PlaceholderHandler.visit(
>> PlaceholderHandler.java:76)
>> at com.android.manifmerger.ManifestMerger2.performPlaceHolderSubstitution
>> (ManifestMerger2.java:424)
>> at com.android.manifmerger.ManifestMerger2.load(ManifestMerger2.java:398)
>> at com.android.manifmerger.ManifestMerger2.merge(
>> ManifestMerger2.java:109)
>> at com.android.manifmerger.ManifestMerger2.access$1100(
>> ManifestMerger2.java:51)
>> at com.android.manifmerger.ManifestMerger2$Invoker.merge(
>> ManifestMerger2.java:982)
>> at com.android.builder.core.AndroidBuilder.mergeManifests(
>> AndroidBuilder.java:457)
>> at com.android.builder.core.AndroidBuilder$mergeManifests$6.call(Unknown
>> Source)
>> at com.android.build.gradle.tasks.MergeManifests.doFullTaskAction(
>> MergeManifests.groovy:125)
>> at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(
>> IncrementalTask.groovy:64)
>> at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
>> at org.gradle.api.internal.project.taskfactory.
>> AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(
>> AnnotationProcessingTaskFactory.java:235)
>> at org.gradle.api.internal.project.taskfactory.
>> AnnotationProcessingTaskFactory$StandardTaskAction.execute(
>> AnnotationProcessingTaskFactory.java:211)
>> at org.gradle.api.internal.project.taskfactory.
>> AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(
>> AnnotationProcessingTaskFactory.java:222)
>> at org.gradle.api.internal.project.taskfactory.
>> AnnotationProcessingTaskFactory$StandardTaskAction.execute(
>> AnnotationProcessingTaskFactory.java:200)
>> at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
>> executeAction(ExecuteActionsTaskExecuter.java:80)
>> at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.
>> executeActions(ExecuteActionsTaskExecuter.java:61)
>> ... 13 more
>>
>> Is there something obvious I'm doing wrong?
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "adt-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
--
You received this message because you are subscribed to the Google Groups
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.