【发布时间】:2015-09-16 22:10:38
【问题描述】:
我正在尝试使用 gradle 构建 cordova 的 android 应用程序。该命令由cordova emulate android执行:
platforms/android/gradlew cdvBuildDebug -b platforms/android/build.gradle -PcdvBuildArch=x86 -Dorg.gradle.daemon=true
这是该命令的完整输出:
FAILURE:构建失败并出现异常。 * 什么地方出了错: 配置根项目“android”时出现问题。 > 无法解析配置 ':classpath' 的所有依赖项。 > 无法解析 net.sf.proguard:proguard-gradle:5.1。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.bouncycastle:bcprov-jdk15on:1.48。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 com.squareup:javawriter:2.5.0。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.bouncycastle:bcpkix-jdk15on:1.48。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 com.google.guava:guava:17.0。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools:common:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 net.sf.kxml:kxml2:2.3.0。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools.ddms:ddmlib:24.0.0 :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools.build:manifest-merger:24.0.0 :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools:sdklib:24.0.0 > com.android.tools .layoutlib:layoutlib-api:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.apache.httpcomponents:httpclient:4.1.1。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools:sdklib:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.apache.httpcomponents:httpmime:4.1。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools:sdklib:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.apache.commons:commons-compress:1.8.1。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.build:builder:1.0.0 > com.android.tools:sdklib:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.ow2.asm:asm-analysis:4.0。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.lint:lint:24.0.0 > com.android.tools.lint:lint-checks:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.ow2.asm:asm:4.0。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.lint:lint:24.0.0 > com.android.tools.lint:lint-checks:24.0.0 > com .android.tools.lint:lint-api:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 com.android.tools.external.lombok:lombok-ast:0.2.2。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.lint:lint:24.0.0 > com.android.tools.lint:lint-checks:24.0.0 > com .android.tools.lint:lint-api:24.0.0 > 初始化默认系统 SSL 上下文失败 > 无法解析 org.ow2.asm:asm-tree:4.0。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 > com.android.tools.lint:lint:24.0.0 > com.android.tools.lint:lint-checks:24.0.0 > com .android.tools.lint:lint-api:24.0.0 > 初始化默认系统 SSL 上下文失败 * 尝试: 使用 --info 或 --debug 选项运行以获得更多日志输出。 * 例外情况是: org.gradle.api.ProjectConfigurationException:配置根项目“android”时出现问题。 在 org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:91) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61) 在 org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:504) 在 org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:83) 在 org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42) 在 org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35) 在 org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129) 在 org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) 在 org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80) 在 org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) 在 org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) 在 org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69) 在 org.gradle.util.Swapper.swap(Swapper.java:38) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46) 在 org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) 在 org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 原因:org.gradle.api.artifacts.ResolveException:无法解析配置“:classpath”的所有依赖项。 在 org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.rethrowFailure(DefaultLenientConfiguration.java:52) 在 org.gradle.api.internal.artifacts.ivyservice.DefaultResolvedConfiguration.rethrowFailure(DefaultResolvedConfiguration.java:36) 在 org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver$FilesAggregatingResolvedConfiguration.rethrowFailure(SelfResolvingDependencyResolver.java:110) 在 org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver$ErrorHandlingResolvedConfiguration.rethrowFailure(ErrorHandlingArtifactDependencyResolver.java:180) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:444) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:205) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(未知来源) 在 org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope(DefaultPluginRequestApplicator.java:142) 在 org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:60) 在 org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:131) 在 org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39) 在 org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26) 在 org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:59) ... 37 更多 原因:org.gradle.internal.resolve.ModuleVersionResolveException:无法解析 net.sf.proguard:proguard-gradle:5.1。 要求: :android:unspecified > com.android.tools.build:gradle:1.0.0 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.resolve(RepositoryChainDependencyResolver.java:81) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainAdapter.resolve(RepositoryChainAdapter.java:69) 在 org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:44) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ModuleVersionResolveState.resolve(DependencyGraphBuilder.java:577) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ModuleVersionResolveState.getMetaData(DependencyGraphBuilder.java:587) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$DependencyEdge.calculateTargetConfigurations(DependencyGraphBuilder.java:272) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$DependencyEdge.attachToTargetConfigurations(DependencyGraphBuilder.java:246) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:156) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolveDependencyGraph(DependencyGraphBuilder.java:94) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:84) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver$1.execute(DefaultDependencyResolver.java:122) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver$1.execute(DefaultDependencyResolver.java:88) 在 org.gradle.internal.Transformers$4.transform(Transformers.java:136) 在 org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:61) 在 org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:39) 在 org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver.resolve(DefaultDependencyResolver.java:88) 在 org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.run(CacheLockingArtifactDependencyResolver.java:42) 在 org.gradle.internal.Factories$1.create(Factories.java:22) 在 org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:187) 在 org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:175) 在 org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:106) 在 org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.useCache(DefaultCacheFactory.java:187) 在 org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.useCache(DefaultCacheLockingManager.java:64) 在 org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver.resolve(CacheLockingArtifactDependencyResolver.java:40) 在 org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver.resolve(SelfResolvingDependencyResolver.java:45) 在 org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsArtifactDependencyResolver.resolve(ShortcircuitEmptyConfigsArtifactDependencyResolver.java:55) 在 org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver.resolve(ErrorHandlingArtifactDependencyResolver.java:47) 在 org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolve(DefaultConfigurationResolver.java:46) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveNow(DefaultConfiguration.java:250) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration(DefaultConfiguration.java:240) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration(未知来源) 在 org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:442) ... 46 更多 原因:org.apache.http.conn.ssl.SSLInitializationException:初始化默认系统 SSL 上下文失败 在 org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:368) 在 org.apache.http.conn.ssl.SSLSocketFactory.getSystemSocketFactory(SSLSocketFactory.java:204) 在 org.apache.http.impl.conn.SchemeRegistryFactory.createSystemDefault(SchemeRegistryFactory.java:82) 在 org.apache.http.impl.client.SystemDefaultHttpClient.createClientConnectionManager(SystemDefaultHttpClient.java:118) 在 org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466) 在 org.apache.http.impl.client.AbstractHttpClient.createHttpContext(AbstractHttpClient.java:286) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:851) 在 org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:137) 在 org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:118) 在 org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:111) 在 org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:87) 在 org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:78) 在 org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:66) 在 org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:70) 在 org.gradle.internal.resource.transport.http.HttpResourceAccessor.getResource(HttpResourceAccessor.java:53) 在 org.gradle.internal.resource.transport.http.HttpResourceAccessor.getResource(HttpResourceAccessor.java:36) 在 org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.getResource(ProgressLoggingExternalResourceAccessor.java:39) 在 org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:72) 在 org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:91) 在 org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveMetaDataArtifact(DefaultExternalResourceArtifactResolver.java:57) 在 org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.parseMetaDataFromArtifact(ExternalResourceResolver.java:162) 在 org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency(ExternalResourceResolver.java:141) 在 org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData(MavenResolver.java:82) 在 org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData(ExternalResourceResolver.java:391) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockReleeasingModuleComponentsRepository$LockReleeasingRepositoryAccess$2.run(CacheLockReleeasingModuleComponentsRepository.java:65) 在 org.gradle.internal.Factories$1.create(Factories.java:22) 在 org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:237) 在 org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:308) 在 org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:114) 在 org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.longRunningOperation(DefaultCacheFactory.java:179) 在 org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.longRunningOperation(DefaultCacheLockingManager.java:56) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockReleeasingModuleComponentsRepository$LockReleeasingRepositoryAccess.resolveComponentMetaData(CacheLockReleeasingModuleComponentsRepository.java:63) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData(CachingModuleComponentRepository.java:284) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveComponentMetaData(BaseModuleComponentRepositoryAccess.java:38) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveComponentMetaData(InMemoryCachedModuleComponentRepository.java:70) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process(ComponentMetaDataResolveState.java:70) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve(ComponentMetaDataResolveState.java:62) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.findBestMatch(RepositoryChainDependencyResolver.java:114) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.findBestMatch(RepositoryChainDependencyResolver.java:97) 在 org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainDependencyResolver.resolve(RepositoryChainDependencyResolver.java:70) ... 77 更多 引起:java.io.FileNotFoundException: /usr/lib/jvm/java-7-oracle/lib/security/cacerts (Нет такого файла или каталога) 在 org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:279) 在 org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:366) ... 116 更多 构建失败 总时间:0.778 秒错误来源是:
引起:java.io.FileNotFoundException: /usr/lib/jvm/java-7-oracle/lib/security/cacerts (Нет такого файла или каталога) 在 org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:279) 在 org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:366) ... 116 更多其实cacerts文件扫描的目录不对,应该是
/usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts
为什么扫描到错误的目录?
【问题讨论】: