我正在使用Android 1.5
(Win 8.1 x64),我在DrKLO/Telegram
上分叉GitHub
存储库并将其克隆到我的本地计算机上。现在每当我尝试同步Gradle或clean / build项目时,Gradle同步都会失败并显示以下消息:
警告:无法找到可选库:org.apache.http.legacy
build.gradle (项目:电报)[DrKLO/Telegram/blob/master/build.gradle]
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
}
}
build.gradle (模块:TMessagesProj)[DrKLO/Telegram/blob/master/TMessagesProj/build.gradle]
apply plugin: 'com.android.application'
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:support-v4:23.1.+'
compile 'com.google.android.gms:play-services:3.2.+'
compile 'net.hockeyapp.android:HockeySDK:3.6.+'
compile 'com.googlecode.mp4parser:isoparser:1.0.+'
}
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
useLibrary 'org.apache.http.legacy'
...
}
我知道StackOverflow上有很多关于这个问题的问题。但他们中没有人和我合作过。我甚至尝试了一些替代方法,例如将org.apache.http.legacy.jar
文件从%USERPROFILE%\AppData\Local\Android\sdk\platforms\android-23\optional
复制到libs
目录,并将其添加到依赖项中
compile files('libs/org.apache.http.legacy.jar')
虽然,我真的不喜欢这个解决方案,但它也没有用,Gradle仍然失败......
答案 0 :(得分:3)
粘贴以下内容:
[
{
"name": "org.apache.http.legacy",
"jar": "org.apache.http.legacy.jar",
"manifest": false
}
]
答案 1 :(得分:1)
我认为jar不在mavenCentral()
,而是尝试使用jcenter()
repositories {
mavenCentral()
jcenter()
}
此外,您应该尝试更新到最新的Android gradle插件
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha1'
}
}
答案 2 :(得分:0)
1.创建一个Text文件并将其命名为optional,文件类型为.json并添加以下内容:
[
{
"name": "org.apache.http.legacy",
"jar": "org.apache.http.legacy.jar",
"manifest": false
}
]
2.添加
android.useDeprecatedNdk=true
在项目的Gradle.properties文件中。