fst*_*any 26 android robolectric android-studio
我已将Robolectric添加到Android项目中.我在19.0.1中使用带有Build Tools的Android Studio.
我可以运行测试:
$./gradlew test
Run Code Online (Sandbox Code Playgroud)
哪个执行得好.
如果我尝试:
$ gradle installDebug
Run Code Online (Sandbox Code Playgroud)
它也执行得很好:
$ ./gradlew installDebug
WARNING: Dependency commons-logging:commons-logging:1.1.1 is ignored for debugTest as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.3 is ignored for debugTest as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
The Test.testReportDir property has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the Test.getReports().getHtml().getDestination() property instead.
:app:compileDebugNdk
:app:preBuild
:app:preDebugBuild
:app:checkDebugManifest
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:compileDebugJava
:app:preDexDebug
:app:dexDebug
:app:processDebugJavaRes UP-TO-DATE
:app:validateDebugSigning
:app:packageDebug
:app:installDebug
8266 KB/s (46166 bytes in 0.005s)
pkg: /data/local/tmp/app-debug-unaligned.apk
Success
BUILD SUCCESSFUL
Total time: 4.291 secs
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在Android Studio的设备或模拟器上运行我的项目时,我得到以下内容:
Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/19.0.1/dx --dex --output /Users/fstephany/Code/android/RoboElectricTestingProject/app/build/dex/debug /Users/fstephany/Code/android/RoboElectricTestingProject/app/build/classes/debug /Users/fstephany/Code/android/RoboElectricTestingProject/app/build/dependency-cache/debug
Error Code:
1
Output:
Unable to locate a Java Runtime to invoke.
Run Code Online (Sandbox Code Playgroud)
有关何处寻找此问题的任何提示?我总是可以installDebug
从CLI或Studio启动应用程序,但它会阻碍它.
Max*_*ell 110
过期的gradle守护程序可能会在后台导致一些性能问题.我认为gradle会在闲置3小时后将其清理干净,但情况似乎并非如此.转到终端,转到项目的gradle文件所在的根文件夹,然后输入命令
./gradlew --stop
Run Code Online (Sandbox Code Playgroud)
并尝试再次运行您的构建.希望能像我一样解决你的问题.
我试图理解为什么这会引起一个问题,但我还没有找到足够好的理由.如果我找到任何东西,我会编辑答案.
UPDATE
目前,当发生内存压力时,守护进程存在严重问题.在压力下,守护进程表现出GC捶打.
对此的一个假设是使用弱引用缓存,特别是在Groovy元类系统中,其中元类实例保存在弱引用缓存中.请注意,这不一定是守护进程的问题,因为它也适用于非守护进程的情况.然而,守护程序泄漏记忆会加剧这种情况,从而增加了发生记忆压力情况的可能性.
这并没有给出任何确定的答案,但它确实给了预感,守护程序可能是你所看到的(以及其他事情)的罪魁祸首.我已经看到一些gradle任务需要花费10倍的时间,并且运行--stop也可以缓解这些问题.
归档时间: |
|
查看次数: |
6968 次 |
最近记录: |