将 Android volley 导入 Android Studio
Posted
技术标签:
【中文标题】将 Android volley 导入 Android Studio【英文标题】:Import Android volley to Android Studio 【发布时间】:2013-12-02 07:10:45 【问题描述】:我想用google的volley库
我正在使用 android Studio,我知道如何添加 .jar 库。
但我无法使用 volley 文件创建 .jar 库:
https://android.googlesource.com/platform/frameworks/volley
这是我所做的:(使用 Windows 7)
git clone https://android.googlesource.com/platform/frameworks/volley
cd volley
android.bat update project -p . --target android-19
ant.jar jar
我得到了输出:
发生了 java 异常。
怎么了?如何添加非 .jar 库?
【问题讨论】:
如果你想使用volley作为依赖模块而不是jar文件,可以关注link Best way to incorporate Volley (or other library) into Android Studio project的可能重复 导入凌空教程:gitsubmoduleasandroidtudiomodule.blogspot.in 【参考方案1】:Volley 现在是officially available on JCenter:
将此行添加到您的 Android 项目应用模块的 gradle 依赖项中:
implementation 'com.android.volley:volley:1.1.1'
【讨论】:
@Shavik Gradle 在将其添加到 build.gradle 文件时未同步,我收到如下错误:无法解决:com.android.volley:volley:1.0.0 我遇到了类似@SundeepBadhotiya的问题,通过将提到的编译语句放入模块的build.gradle而不是项目的gradle文件来解决。 我应该使用com.android.volley:volley:1.0.0
还是com.mcxiaoke.volley:library-aar:1.0.0
?
我试过了,但还是不同步,是不是我遗漏了什么?
最新版本是 1.1.0,在 android studio 3 中你应该使用: implementation 'com.android.volley:volley:1.1.0'【参考方案2】:
因此 Volley 已更新为 Android Studio 构建样式,这使得创建 jar 变得更加困难。但是 Eclipse 的推荐方法是将其用作库项目,这也适用于 android studio,但是在 android studio 中工作时,我们将其称为模块。所以这里有一个指南,告诉我们如何按照谷歌希望我们做的方式去做。指南基于this nice tutorial。
首先使用 git 获取最新的 volley (git clone https://android.googlesource.com/platform/frameworks/volley)。
在您当前的项目(android studio)中点击[File]
--> [New]
-->[Import Module]
。
现在选择您将 Volley 下载到的目录。
现在 Android Studio 可能会指导您完成其余的工作,但请继续指导以验证一切是否正常
打开 settings.gradle(在根目录中查找)并添加(或验证是否包含):
include ':app', ':volley'
现在转到项目中的 build.gradle 并添加依赖项:
compile project(":volley")
这就是它的全部内容,比编译 jar 更简单、更容易,比依赖第三方 jar 或 maven 上传更安全。
【讨论】:
这就是解决我的问题的方法。但是,我通过将子模块移动到我创建的名为“3rd_party”的目录中来使其复杂化。我不得不将上面的语句更改为include ':app', ':3rd_party:volley'
和compile project(":3rd_party:volley")
。 (起初用冒号来描述文件夹让我很吃惊,首先认为它可能只是表示相对路径)
第 2 步应该是 File>New>Import Module。
@The_Martian 谢谢,我已经更新它以反映 Android 工作室的更新。【参考方案3】:
更新 Warpzit 对 Android Studio 1.3.2 的回答(粗体中的差异) (更新:Android 2.0 似乎是一样的)
-
首先使用 git 获取最新的 volley。
在您当前的项目 (android studio) 中单击 [file] --> [New]--> [New Module]。
现在选择[导入Gradle项目],点击下一步
现在选择您将 Volley 下载到的目录。
现在 Android Studio 可能会指导您完成其余的工作,但会继续指导以验证一切是否正常
打开 settings.gradle(在根目录中查找)并添加(或验证是否包含):
包括 ':app', ':volley'
现在转到项目中的 build.gradle 并添加依赖项:
编译项目(":volley")
【讨论】:
这似乎将模块导入应用程序而不是根目录,这会搞砸一切。知道为什么会这样吗? 已弃用。这个答案不再有效。虽然它在技术上会“工作”,但你真的不应该在 2018+ 年这样做使用 compile 'com.android.volley:volley:伙计们太复杂了。只需将其包含在您的 gradle 依赖项中即可:
dependencies
...
compile 'com.mcxiaoke.volley:library:1.0.17'
【讨论】:
值得指出的是,这不是官方存储库。因此,总是有可能包含恶意代码。应该不会发生吧?但最好知道它可以。 对于 gradle 的初学者,这里有一些详细信息:blog.chrisblunt.com/android-getting-started-with-volley 已弃用 请注意,此项目已弃用且不再维护,请使用 jCenter 的官方版本。编译'com.android.volley:volley:1.0.0'【参考方案5】:这些答案大部分已经过时了。
Google 现在有一种简单的方法来导入它。我们将继续看到很多过时的信息,因为他们已经有 2-3 年没有创建这个解决方案了。
https://bintray.com/android/android-utils/com.android.volley.volley/view
您需要做的就是在您的 Build.Gradle 中添加以下内容:
compile 'com.android.volley:volley:1.0.0'
IE
apply plugin: 'com.android.application'
android
compileSdkVersion 25
buildToolsVersion "24.0.0"
defaultConfig
applicationId "com.example.foobar.ebay"
minSdkVersion 23
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
exclude group: 'com.android.support', module: 'support-annotations'
)
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.volley:volley:1.0.0'
testCompile 'junit:junit:4.12'
【讨论】:
【参考方案6】:将此行添加到 build.gradle 中的依赖项中:
compile 'com.mcxiaoke.volley:library:1.0.+'
【讨论】:
【参考方案7】:将compile 'com.android.volley:volley:1.0.0'
放入依赖项下的build.gradle(Module)文件后,它不会立即生效,您必须先重新启动Android Studio!
【讨论】:
我遇到了这个问题,重新启动对我有用。但是,必须有更好的方法! 所有你需要做的就是刷新你的依赖。重新启动可能会为您启动。屏幕顶部会出现一个横幅,要求您刷新。很难错过。下次按那个就好了。 难以置信,重启 android studio 解决了我们下午试图解决这个问题的问题:(【参考方案8】:在你的 gradle.build(Module:app) 文件中添加这个依赖
compile 'com.android.volley:volley:1.0.0'
然后同步你的 gradle 文件。
【讨论】:
【参考方案9】:在您的应用程序(应用程序,而不是项目)的“build.gradle”中,添加以下内容:
dependencies
...
implementation 'com.android.volley:volley:1.1.0'
【讨论】:
【参考方案10】:将此添加到您的应用程序的“build.gradle”中。
实现'com.android.volley:volley:1.1.1'
【讨论】:
【参考方案11】:要将 volley 添加为子模块并从 GIT 存储库获取定期更新,可以执行以下步骤。主要优点是 Volley 可以自定义,并且可以在需要更新时从 GIT 存储库中提取源代码。
它也有助于调试目的。
按照以下步骤:
第一步:
在 Android 应用项目 GIT Repo 中添加 volley 作为子模块。 git submodule add -b master https://android.googlesource.com/platform/frameworks/volley Libraries/Volley
第二步:
在 settings.gradle 中,添加以下内容以将 volley 添加为工作室项目模块。 包括“:凌空” project(':Volley').projectDir=new File('../Libraries/Volley')
第三步:
在 app/build.gradle 中,添加下面一行来编译 Volley 编译项目(':Volley')
就这些了! Volley 已成功添加到项目中。
每次想从谷歌官方获取最新代码 Volley 的 repo,只需运行以下命令
git submodule foreach git pull
更多详细信息:https://gitsubmoduleasandroidtudiomodule.blogspot.in/
GIT Repo 示例代码:https://github.com/arpitratan/AndroidGitSubmoduleAsModule
【讨论】:
【参考方案12】:“编译项目(':volley')”行给了我这个错误:
错误:任务 ':volley:processDebugResources' 执行失败。 > com.android.ide.common.process.ProcessException:执行失败 适配
这是因为模块 volley 的 compileSdk 和 buildTools 版本当前在“22”和“22.0.1”上,而我的项目正在使用较新的版本(“24”和“24.0.1”)。
解决方案:
打开你的 build.gradle (Module:volley) 文件并更改“compileSdk”和“buildTools”的版本,例如我更改了这个:
android
compileSdkVersion 22
buildToolsVersion = '22.0.1'
为此:
android
compileSdkVersion 24
buildToolsVersion = '24.0.1'
你应该不再有这个错误,我希望它有帮助:)
【讨论】:
【参考方案13】:或者你可以简单地做
ant jar
在您克隆的 volley git 项目中。您现在应该在 volley 项目 bin
文件夹中看到 volley.jar
。将此复制到 Android Studio 的 app\libs
文件夹。然后在模块级别build.gradle
文件的dependencies
部分下添加以下内容 -
compile files('libs/volley.jar')
而且你应该很好地在你的项目中导入和使用库类,
【讨论】:
【参考方案14】:它也可用于存储库mavenCentral()
...
dependencies
// https://mvnrepository.com/artifact/com.android.volley/volley
api "com.android.volley:volley:1.1.0'
【讨论】:
【参考方案15】:两件事
一:编译已过时,最好使用实现,
第二个:volley 1.0.0 已过期,同步项目将无法工作
或者,在 build.gradle 中添加实现 'com.android.volley:volley:1.1.1' 或实现 'com.android.volley:volley:1.1.+' 用于 1.1.0 和更新版本。
【讨论】:
【参考方案16】:将此行添加到您的清单文件里面
android:usesCleartextTraffic="true"
【讨论】:
【参考方案17】:Hanumanjetlibrary.
Hanumanjet 图书馆。 先决条件 将此添加到您的根 build.gradle 文件(而不是您的模块 build.gradle 文件)中:
所有项目 存储库 ... maven url "https://jitpack.io"
依赖 将此添加到模块的 build.gradle 文件中(确保版本与上面的 JitPack 标记匹配):
依赖 ... 实施 'com.github.Pawan245:Hanumanjetlibrary:6.1.0'
ApicallAny(凌空抽射) 将此 ApcallAny 放置在您的应用程序中的任何位置进行 Http 网络调用
#MainActivity.java
#withoutParams
String url="http://rt.com/api/my.php";
ApicallAny.ApicallVolleywithoutParams(MainActivity.this,url, new ApicallAny.VolleyCallback() @覆盖 public void onSuccess(String result)
// do stuff here
@Override
public void onError(String result)
// do stuff here
);
#withParams
映射参数 = 新 HashMap();
params.put("param1","val"); params.put("param2","valx");
String url="http://rt.com/api/my.php"; ApicallAny.ApicallVolleywithParams(MainActivity.this, url,params, new ApicallAny.VolleyCallback() @覆盖 public void onSuccess(String result)
// do stuff here
@Override
public void onError(String result)
// do stuff here
);
【讨论】:
【参考方案18】:将 volly 添加到您的工作室 gradle 应用程序 编译'com.android.volley:volley:1.0.0'
【讨论】:
【参考方案19】:第 1 步:- 下载 volley.jar 文件。
第 2 步:- 转到您的项目并将显示菜单从 Android 设置为 Project,然后转到
app -> libs-> paste your volley.jar
文件在这里
第 3 步:- 右键单击 volley.jar 文件,然后单击“添加为库”。一切都完成了。
【讨论】:
以上是关于将 Android volley 导入 Android Studio的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot Java后端实现okhttp3超时设置