【已解决】上传项目到binary 上面的时候报错:FAILURE: Build failed with an exception.
zhangyinshandeMacBook-Pro:BaseLibs zhangyinshan$ ./gradlew install
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/zhangyinshan/Documents/android/BaseLibs/app/build.gradle' line: 75
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not find method install() for arguments [build_mqpbgy6i2hqhit37a3h58ggh$_run_closure8@6f262b30] on project ':app' of type org.gradle.api.Project.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
原因:plugin 没有起作用引起的
解决办法:
1: 需要在project 的gradle 里面添加:
//下面这两句
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' //下面这两句 classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { google() jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}
2: 需要在module 里面添加如下两句:
apply plugin: 'com.github.dcendents.android-maven'apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.android.library'apply plugin: 'com.github.dcendents.android-maven'apply plugin: 'com.jfrog.bintray'android { compileSdkVersion 28 defaultConfig { minSdkVersion 16 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:28.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}//项目主页https://github.com/kodulf/BaseLibsdef siteUrl = 'https://github.com/kodulf/BaseLibs'//项目的git地址def gitUrl = 'https://github.com/kodulf/BaseLibs.git'//发布到JCenter上的项目名字def libName = "Baselibs"//发布到组织名称名字,必须填写group = "com.kodulf.BaseLibs"// 版本号,下次更新是只需要更改版本号即可version = "1.0.1"//上面配置后上传至JCenter后的编译路径是这样的: compile 'me.songning.CircleView:library:1.0.0'//生成源文件task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources'}//生成Javadoc文档task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator))}//文档打包成jartask javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir}//拷贝javadoc文件task copyDoc(type: Copy) { from "${buildDir}/docs/" into "docs"}//上传到JCenter所需要的源码文件artifacts { archives javadocJar archives sourcesJar}// 配置maven库,生成POM.xml文件install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' //项目描述,随意填 name 'An android utils libs.' url siteUrl licenses { license { //开源协议 name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { //开发者的个人信息 id 'kodulf' name 'kodulf' email 'lao_xue@hotmail.com' } } scm { connection gitUrl developerConnection gitUrl url siteUrl } } } }}//上传到JCenterProperties properties = new Properties()properties.load(project.rootProject.file('local.properties').newDataInputStream())bintray { user = properties.getProperty("bintray.user") //读取 local.properties 文件里面的 bintray.user key = properties.getProperty("bintray.apikey") //读取 local.properties 文件里面的 bintray.apikey configurations = ['archives'] pkg { //这里的repo值必须要和你创建Maven仓库的时候的名字一样 repo = "Baselibs" //发布到JCenter上的项目名字 name = libName //项目描述 desc = 'An android utils libs' websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true }}javadoc { options { //如果你的项目里面有中文注释的话,必须将格式设置为UTF-8,不然会出现乱码 encoding "UTF-8" charSet 'UTF-8' author true version true links "http://docs.oracle.com/javase/7/docs/api" }}
更多相关文章
- Android下使用c++11的测试
- tess_two Android图片文字识别
- ListView长按底色变黑问题
- 在android media framework中添加播放器
- 【转】如何使用Android(安卓)Studio把自己的Android(安卓)librar
- 1. Android启动过程
- Android(安卓)混淆问题排查
- Android之HttpURLConnection小结
- android系统使用Camera2 应用