【问题标题】:ClassNotFoundException for FileOpUtils with Android Studio 2.0 Preview带有 Android Studio 2.0 预览版的 FileOpUtils 的 ClassNotFoundException
【发布时间】:2016-03-07 09:29:09
【问题描述】:

升级到 Android Studio 2.0 Preview 后,我在尝试构建项目时看到以下异常

Error:Internal error: (java.lang.ClassNotFoundException) com.android.repository.io.FileOpUtils
java.lang.ClassNotFoundException: com.android.repository.io.FileOpUtils
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.android.sdklib.repository.local.LocalSdk.<init>(LocalSdk.java:182)
at com.android.sdklib.repository.local.LocalSdk.<init>(LocalSdk.java:191)
at org.jetbrains.jps.android.AndroidBuildDataCache.getSdk(AndroidBuildDataCache.java:145)
at org.jetbrains.jps.android.AndroidJpsUtil.getAndroidTarget(AndroidJpsUtil.java:403)
at org.jetbrains.jps.android.AndroidJpsUtil.getAndroidPlatform(AndroidJpsUtil.java:478)
at org.jetbrains.jps.android.builder.AndroidPreDexBuildTarget.computeRootDescriptors(AndroidPreDexBuildTarget.java:110)
at org.jetbrains.jps.builders.impl.BuildRootIndexImpl.addRoots(BuildRootIndexImpl.java:72)
at org.jetbrains.jps.builders.impl.BuildRootIndexImpl.<init>(BuildRootIndexImpl.java:62)
at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:83)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:266)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:232)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:42)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

这是一个已知的issue,但那里的任何 cmets 都是“我也是”。

有人能解决这个问题吗?

更新

此问题已在 2.0 Preview 4 中得到解决。

【问题讨论】:

    标签: java android-studio


    【解决方案1】:

    workaround 已在对提交的问题的评论中发布。

    在我的 Mac 上,我在终端中执行了以下步骤:

    1. vi /Applications/Android\ Studio.app/Contents/plugins/android/lib/android.jar

    2. 选择META-INF/plugin.xml进行编辑。

    3. ;repository.jar 添加到&lt;compileServer.plugin classpath="sdklib.jar;common.jar;jarutils.jar;layoutlib-api.jar;manifest-merger.jar"/&gt; 行中的类路径属性并保存更改。

    4. 打开 Android Studio

    如评论中所述,如果问题仍未解决,您可能需要在进一步更新 Android Studio 后再次应用此解决方法。

    警告

    应用上述更改后,Android Studio 无法再应用补丁更新。您会收到类似this 问题中所示的警告。似乎唯一的解决方案是重新安装。根据问题上的 cmets,尽管问题仍然存在于最新版本中。

    【讨论】:

    • 嗨,1 个问题。如何从 .jar 中选择文件 plugin.xml 进行编辑?我可以在 .jar 中看到它,但我无法对其进行编辑。
    • @Loebre vi 显示 jar 中的文件列表。然后您可以选择文件并直接编辑/保存到 jar 文件中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多