gpt4 book ai didi

Android studio 2.2.2 使用 bintray 存储库将我的应用程序模块作为库发布到 jcenter

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:54 26 4
gpt4 key购买 nike

到这里,我已经成功完成了二维码扫描项目。我已经用于 qrcodereaderview 1.0.0 v url 存储库。这是我的依赖。

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0'
compile files('libs/ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar')
}

我的项目中只有一个应用程序模块。我想将此项目作为库 (.AAR) 上传到 jcenter 存储库。

我尝试了一些 jcenter 上传步骤,我也从 bintrayupload 获得了成功的上传响应。

为此,我创建了 Github 登录并创建了项目 url。但是,我没有将我的项目代码上传到github。我只在 build.gradle 中给出了空的项目 url。

但是,当我在 bintray 存储库中看到时。我的 bintray maven 存储库中没有代码更新/版本更改。

Android Studio Project 转换为 .aar(library) 文件并按照以下步骤上传到 jcenter 存储库。

1).我已经更改了主应用程序模块 build.gradle 文件以进行三处更改。
更改了库插件,注释了应用程序 ID更改了 list 文件启动器 Activity

我的应用模块 build.gradle 文件:

//apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
ext {
bintrayRepo = 'maven' //mavenrepo
bintrayName = 'app'

publishedGroupId = 'com.test.testsdkproj16'
libraryName = 'TestsdkProj16'
artifact = 'app'

libraryDescription = 'A simple qr code library calling your project in Android'

siteUrl = 'https://github.com/vhkrishnanv/TestsdkProj16'
gitUrl = 'https://github.com/vhkrishnanv/TestsdkProj16.git'
githubRepository= 'vhkrishnanv/TestsdkProj16'

libraryVersion = '1.0.0'

developerId = 'vhk*********6'
developerName = 'harikrish'
developerEmail = 'vhkris******@gmail.com'

licenseName = 'The Apache Software License, Version 2.0'
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
allLicenses = ["Apache-2.0"]
}
allprojects {
repositories {
jcenter()
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
//applicationId "com.test.testsdkproj16"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0'
compile files('libs/ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar')
}

// Place it at the end of the file
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'

我的 list 文件:

 <activity android:name=".MainActivitySDK_16">
<intent-filter>
<action android:name="com.test.testsdkproj16.MainActivitySDK_16" />
<!--comment when exporting AAR below two lines-->
<!--<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />-->
</intent-filter>
</activity>

gradle.properties 文件:

bintray.user=vhk*********6
bintray.apikey=***1f************************98f51***

2).将我的工作室项目上传到 bintray.com 的后续步骤。为此,我使用了三个命令。

-gradleW clean
BUILD SUCCESSFUL
-gradleW install
BUILD SUCCESSFUL
-gradleW bintrayupload
BUILD SUCCESSFUL

执行以上三个命令后,在我的bintray仓库中看到,我的仓库没有任何变化。

我的仓库截图

enter image description here

我不知道到底缺少哪一步。任何人都可以帮助解决这个错误。

总的来说,我想将我的 Studio2.2.2 项目(转换为 .aar 库)发布到 jcenter 存储库,并且需要像这样获取我的项目 url。 (当我也在依赖项中的其他新项目中尝试此 url 时,同步时出错,因为代码/.aar 未上传到存储库中)

我有一个悬而未决的最后一步。上传代码后,需要 jcenter 同步在 bintray 存储库中挂起。只有这样,我才能将上述 url 用于其他新项目。

compile 'com.test.testsdkproj16:app:1.0.0' 

最佳答案

在您所写的问题中,您将凭据保存到 gradle.properties 中的 bintray 帐户:

bintray.user=vhk*********6
bintray.apikey=***1f************************98f51***

如果您从以下位置查看源文件:

https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle

您将看到以下几行:

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")

您将凭据放入了错误的文件中。它们应该在 local.properties

编辑经过长时间的讨论,最终将该项目发布到 bintray。这里的问题是用户发布到另一个组织项目。所以确实,@gba 的回答是正确的。但是,@harikrishnan 被建议将 bintray.gradleinstall.gradle 下载到项目中并进行修改。它们应该是这样的:

bintray.gradle

apply plugin: 'com.jfrog.bintray'
apply from: '../bintray.data.gradle'

version = libraryVersion

if (project.hasProperty("android")) { // Android libraries
task sourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}

task javadoc(type: Javadoc) {
options.addBooleanOption('Xdoclint:none', true)
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
} else { // Java libraries
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
}

task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}

artifacts {
archives javadocJar
archives sourcesJar
}

Properties properties = new Properties()
properties.load(new FileInputStream(file(rootProject.file('local.properties'))))

bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")

configurations = ['archives']
pkg {
repo = bintrayRepo
name = bintrayName
desc = libraryDescription
websiteUrl = siteUrl
vcsUrl = gitUrl
userOrg = userOrg
licenses = allLicenses
publish = true
publicDownloadNumbers = true
}
}

install.gradle

apply plugin: 'com.github.dcendents.android-maven'
apply from: '../bintray.data.gradle'

group = publishedGroupId

install {
repositories.mavenInstaller {
pom {
project {
packaging 'aar'
groupId publishedGroupId
artifactId artifact

name libraryName
description libraryDescription
url siteUrl

licenses {
license {
name licenseName
url licenseUrl
}
}
developers {
developer {
id developerId
name developerName
email developerEmail
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl

}
}
}
}
}

bintray.data.gradle:

ext {
bintrayRepo = 'maven'
bintrayName = 'samplename'

publishedGroupId = 'sample.package.name'
libraryName = 'SampleName'
artifact = 'samplename'

libraryDescription = ''

siteUrl = ''
gitUrl = ''

libraryVersion = '1.0.0'

developerId = ''
developerName = 'Zagórski'
developerEmail = ''

licenseName = 'The Apache Software License, Version 2.0'
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
allLicenses = ["Apache-2.0"]
}

应用的build.gradle:

apply plugin: 'com.android.application'

(...)

apply from: '../install.gradle'
apply from: '../bintray.gradle'

主要build.gradle:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
jcenter()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

利用这些类的示例项目是 here

关于Android studio 2.2.2 使用 bintray 存储库将我的应用程序模块作为库发布到 jcenter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40882343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com