我在android studio中使用MPAndroidChart libarary.但是当我尝试同步gradle时,如下图所示给出错误.Gradle文本在这里编译MPAndroidChart libarary.
compile 'com.github.PhilJay:MPAndroidChart:v2.1.4'
Run Code Online (Sandbox Code Playgroud)
请帮助解决此问题.提前致谢
我有一个Github repo并在其上推送标签.
这是我主要项目的gradle文件.
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "dropbox.ric.es.myapplication"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
//mavenCentral()
//jcenter()
maven { url "https://jitpack.io" }
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.github.rchampa:DropboxHttpConector:1.0.1'
}
Run Code Online (Sandbox Code Playgroud)
但是当我同步gradle时,我有以下错误 Failed to resolve com.github.rchampa:DropboxHttpConector:1.0.1
另一种尝试:
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
dependencies …
Run Code Online (Sandbox Code Playgroud) 我想创建库并通过Internet访问它.在Android Studio中(通过Gradle),可以通过以下方式添加依赖项:
在build.gradle
(模块应用程序)中:
dependencies {
...
compile 'com.android.support:design:23.1.0'
compile 'com.squareup:otto:1.3.8'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.j256.ormlite:ormlite-core:4.48'
compile 'com.j256.ormlite:ormlite-android:4.48'
...
}
Run Code Online (Sandbox Code Playgroud)
如何从github以这种方式添加自己的库?
我有一段时间没有开发Android,我正在尝试使用Gradle依赖项的新功能做正确的事情.
我想知道当您需要修改一个特定的依赖项以满足您的需求时,最佳实践是什么.
例如,假设我们有两个库通过子类化适配器来扩展RecyclerView功能:
Adapter --> AdapterA
Adapter --> AdapterB
Run Code Online (Sandbox Code Playgroud)
由于Java不支持多重继承,我想让两个库协同工作的唯一方法就是修改其中一个,这样子类层次结构如下所示:
Adapter --> AdapterA --> AdapterB
Run Code Online (Sandbox Code Playgroud)
如果我是正确的,这是要走的路,那么什么是修改和集成库的最佳方法,这里是我能想到的选项:
请证明或建议什么是更好的,如果有任何其他替代方案来实现这一点.
我想将源代码附加到kotlin库项目中,看起来我成功了,因为我现在有源代码库:
https://jitpack.io/com/github/walleth/kethereum/bip44/0.21/
在我没有导出源之前的版本 - 所以我认为它是成功的.
https://jitpack.io/com/github/walleth/kethereum/bip44/0.20/
不幸的是,AS没有显示消息来源.我这样生成它们:
allprojects {
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
apply plugin: "kotlin"
apply plugin: "jacoco"
apply plugin: "maven"
apply plugin: "com.github.ben-manes.versions"
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
testCompile 'org.assertj:assertj-core:3.8.0'
testCompile 'junit:junit:4.12'
}
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 sourcesJar
archives javadocJar
}
}
Run Code Online (Sandbox Code Playgroud)
source-jars还包含kotlin文件.这一切都在这个项目中:https://github.com/walleth/kethereum
不能再使用了maven { url "https://jitpack.io" }
。我有以下gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "test.com.myapplication"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.+'
}
Run Code Online (Sandbox Code Playgroud)
尝试构建时出现错误:
org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://jitpack.io/com/android/support/appcompat-v7/maven-metadata.xml'.
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:96)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:80)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:84)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:43)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:29)
at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:56)
at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:36) …
Run Code Online (Sandbox Code Playgroud) 我将多味道库发布到jitpack 有问题.日志表示构建成功但状态是错误
我已经按照jitpack网站上的说明进行了操作,但是他们的示例使用了旧的gradle版本,并且它不适用于gradle 4.4
这是日志:
Build starting...
Start: Fri Apr 20 07:35:56 UTC 2018
Git:
1.28.1-1-g932f4d8
commit 932f4d88e13b1c8c52b4dbae8c203e7d52a0eadf
Author: yzheka
Date: Fri Apr 20 10:34:49 2018 +0300
jitpack config
Run gradle build
Gradle build script
Found gradle version: 4.4.
Using gradle wrapper
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Djavax.xml.accessExternalSchema=all
Downloading https://services.gradle.org/distributions/gradle-4.4-all.zip
..............................................................................................
Unzipping /home/jitpack/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4-all.zip to /home/jitpack/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1
Set executable permissions for: /home/jitpack/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/bin/gradle
------------------------------------------------------------
Gradle 4.4
------------------------------------------------------------
Build time: 2017-12-06 09:05:06 UTC
Revision: cf7821a6f79f8e2a598df21780e3ff7ce8db2b82
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled …
Run Code Online (Sandbox Code Playgroud) 我收到Failed to resolve: com.github.dogecoin:libdohj:v0.15.9
错误,但我不知道为什么。我还尝试了其他 jitpack 依赖项。它在我之前的项目中运行良好。
buildscript {
ext {
compose_version = '1.0.2'
}
repositories {
google()
maven { url "https://jitpack.io" }
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.38.1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud) 我想发布一个我一直在使用 jitpack 开发的 android 库。但我想在不发布源代码的情况下做到这一点。我不想让 jitpack 构建它,我将构建的输出(AAR 文件)上传到 github,我想让 jitpack 只提供这些文件。
https://jitpack.io/docs/PRIVATE/#artifact-sharing中的说明 不适用,因为 UI 不再具有允许共享工件的设置选项卡。
另外,有更好的方法吗?
任何帮助,将不胜感激。
经过大量的研究和尝试,并寻求帮助,我已经成功地在 Jitpack 上使用 maven 发布了一个私有的 Github 存储库(写在这里)。
所以,目前我放在 Jitpack 存储库中的文件只是这些:
虽然依赖问题和 AAR 文件本身很好,我可以使用该库,但我注意到我找不到一种方法将我在那里编写的内容作为 KDoc(如 JavaDocs,但适用于 Kotlin)提供给使用它的任何人。
除了各种gradle任务,我还尝试了Android Studio本身的简单操作来制作。由于没有提到 KDoc,我使用Tools
->Generate JavaDocs
代替。
可悲的是,它告诉我没有,而且确实是在这里报道的。
但即使它确实成功了,我也不知道如何将它与其他文件一起发布。
我希望这是可能的,但是如何在 Jitpack 上使用 maven 生成和公开 KDoc?