Gradle异常无法加载本机库native-platform.dll

Gradle异常无法加载本机库native-platform.dll,dll,gradle,Dll,Gradle,我刚刚在Windows7机器上安装了Gradle2.11,当我运行Gradle-v时,我收到一条失败消息。Gradle位于路径中,且dll存在 $ gradle -v --stacktrace FAILURE: Build failed with an exception. * What went wrong: Failed to load native library 'native-platform.dll' for Windows 7 amd64. * Try: Run with -

我刚刚在Windows7机器上安装了Gradle2.11,当我运行Gradle-v时,我收到一条失败消息。Gradle位于路径中,且dll存在

$ gradle -v --stacktrace

FAILURE: Build failed with an exception.

* What went wrong:
Failed to load native library 'native-platform.dll' for Windows 7 amd64.

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
net.rubygrapefruit.platform.NativeException: Failed to load native library 'nati                                        ve-platform.dll' for Windows 7 amd64.
        at net.rubygrapefruit.platform.internal.NativeLibraryLoader.load(NativeL                                        ibraryLoader.java:49)
        at net.rubygrapefruit.platform.Native.init(Native.java:55)
        at org.gradle.internal.nativeintegration.services.NativeServices.initial                                        ize(NativeServices.java:74)
        at org.gradle.internal.nativeintegration.services.NativeServices.initial                                        ize(NativeServices.java:60)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(                                        CommandLineActionFactory.java:203)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(                                        CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionRep                                        ortingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionRep                                        ortingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.                                        java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces                                        sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBoots                                        trap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.j                                        ava:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: java.io.IOException: The system cannot find the path specified
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:1012)
        at net.rubygrapefruit.platform.internal.NativeLibraryLocator.find(Native                                        LibraryLocator.java:39)
        at net.rubygrapefruit.platform.internal.NativeLibraryLoader.load(NativeL                                        ibraryLoader.java:41)
        ... 16 more

这是由Windows配置引起的,可能是通过组策略引起的。文件native-platform.dll是从一个JAR文件中提取出来的,可能放在用户主目录的文件夹中,例如c:\Users\%USERNAME%\Local Settings\Temp。对于恶意软件保护,可能会禁用从TMP目录加载DLL和执行程序

我有一个相同症状的问题,在某些情况下,我可以通过将TEMP和TMP环境变量设置为指向用户目录之外(例如c:\TMP)来解决这个问题。这并不是一个普遍的解决方案,也不适用于格拉德尔。通过将Gradle_选项设置为指向所需位置,可以覆盖Gradle提取DLL的位置。这可能适用于您:

C:\mkdir C:\tmp


C:\set GRADLE_OPTS=“-Dorg.GRADLE.native.dir=/tmp”

在附件中,您必须将设置的句子放在../GRADLE-2.11/bin文件夹中的GRADLE.bat中

例如:

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%..

@rem agregado por marcgaso
set GRADLE_OPTS="-Dorg.gradle.native.dir=/tmp"
**strong text**

除了上面的user6823564解决方案之外,我在清理临时文件后也遇到了这个问题

原因是缺少
native
文件夹。我不明白为什么Gradle不能像恢复任何其他丢失的临时/缓存数据一样恢复它

答复:

 md  %GRADLE_USER_HOME%\native
这是默认位置。或者使用user6823564和Marcos给出的设置。。。使用其中一个

 set GRADLE_OPTS="-Dorg.gradle.native.dir=%GRADLE_USER_HOME%\native"
或使用

 %GRADLE_USER_HOME%\gradle.properties
祝你好运

1.Open the projects gradle.properties file in android studio
2.Added this line at end of file org.gradle.jvmargs=-Xmx1024m & Save the file
3.Close & reopen the project
你只需要重新启动android studio和你的系统。这是因为ROM中没有足够的可用空间,这很有帮助,因为每个新的命令提示窗口的“set GRADLE_OPTS”命令都会重置为默认值。