2016-07-10 2 views
0

최근 Android Studio를 v 2.2 Preview 5로 업데이트했습니다. 내 프로젝트 중 하나를 실행하려고 시도하면서 2 가지 오류가 발생했습니다.업데이트 후 java.nio.file.InvalidPathException

  1. 업데이트 후 java.nio.file.InvalidPathException (I 레이아웃을 미리 볼 수있다.)
  2. 오류 : 실행이 작업에 실패했습니다. ': 응용 프로그램 : mergeDebugResources'> D : \ 일 \ petrichors Eguide \ 프로젝트 \ \ app \ src \ main \ res \ layout-xlarge-xhdpi-land : 오류 : 잘못된 리소스 디렉토리 이름입니다.

그러나 이전 버전에서 프로젝트가 잘 실행되고있었습니다.

로그 :

java.nio.file.InvalidPathException: Illegal char <:> at index 8: @android:drawable/ic_menu_slideshow 
    at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) 
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) 
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) 
    at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94) 
    at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255) 
    at java.nio.file.Paths.get(Paths.java:84) 
    at com.android.ide.common.res2.ResourceItem.parseFileName(ResourceItem.java:585) 
    at com.android.ide.common.res2.ResourceItem.parseXmlToResourceValue(ResourceItem.java:405) 
    at com.android.ide.common.res2.ResourceItem.getResourceValue(ResourceItem.java:240) 
    at com.android.ide.common.res2.AbstractResourceRepository.getConfiguredResources(AbstractResourceRepository.java:393) 
    at com.android.ide.common.res2.AbstractResourceRepository.getConfiguredResources(AbstractResourceRepository.java:349) 
    at com.android.tools.idea.configurations.ResourceResolverCache$1.compute(ResourceResolverCache.java:166) 
    at com.android.tools.idea.configurations.ResourceResolverCache$1.compute(ResourceResolverCache.java:163) 
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) 
    at com.android.tools.idea.configurations.ResourceResolverCache.getResourceResolver(ResourceResolverCache.java:163) 
    at com.android.tools.idea.configurations.Configuration.getResourceResolver(Configuration.java:1212) 
    at com.android.tools.idea.rendering.RenderTask.getResourceResolver(RenderTask.java:198) 
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:425) 
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$52(RenderTask.java:659) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
디렉토리가 몇 년 동안 잘못되었다는 것을

답변

1

However the project was running fine on previous version I had.

. 툴과 안드로이드는 그것을 무시하거나 모든 한정어를 존중하지 않았을 가능성이 높습니다. 이제 빌드 도구가 디렉토리 이름의 유효성을 검사합니다.

layout-xlarge-xhdpi-land에서 layout-xlarge-land-xhdpi으로 변경하십시오. 한정자 규칙은 they appear in "Table 2" (위에서 아래) 순으로 디렉토리 이름 (왼쪽에서 오른쪽)으로 나타나야합니다.

또는 더 나은 것은 -xhdpi을 완전히 삭제하십시오. drawable 또는 mipmap 리소스 디렉토리 이외의 다른 곳에서 밀도 한정자를 사용하면 코드 냄새가 난다. 그것은 반드시 필요하지 않아야하며 어쨌든해야한다고 생각하는 것을하지 않을 수도 있습니다.

+0

그게 레이아웃 디렉토리에 문제가되었습니다. 하지만 InvalidPathException은 어떨까요? –

+0

@MehvishFaisal : 그건, 미안합니다. Windows를 실행하지 않으며 시험판 ​​버전의 Android Studio를 많이 사용하지 않습니다. – CommonsWare

0

오늘 아침에 v2.2 미리보기 5로 업데이트 한 후 동일한 InvalidPathException 문제가 발생했습니다. 관련 XML 선언에서 선행/후행 공백과 줄 바꿈을 제거하여 해결했습니다.

여기에 없어야하는 ':'이 있는지 확인하십시오.

Android Studio는 XML 값에 조금 더 민감합니다.