모바일&임베디드/안드로이드

[Kotlin] TS(NavHostFragment), [xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다.

차가운오미자 2021. 6. 15. 11:22

NavHostFragment

트러블 슈팅이랄 것도 없지만, 강의에서 나온 코드로 하니까 안됐는데 다음과 같이 하면 됨

//MainActivity class 내부
lateinit var navController : NavController

// MainActivity.kt 안에 onCreate 함수 안
navController = nav_host_fragment.findNavController()

 

 

고친 후:

import androidx.navigation.fragment.NavHostFragment

// 중략

val navHostFragment =
            supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
        val navController = navHostFragment.navController

 

아마 영상은 2020년이라서 버전이 좀 달라진 건지...

그냥 네이게이션 api 보면 되는듯

 

아래 [대상으로 이동] 파트에 나온 코드 쓰고, 'NavHostFragment' import해주면 된다.

 

https://developer.android.com/guide/navigation/navigation-getting-started

 

탐색 구성요소 시작하기  |  Android 개발자  |  Android Developers

이 주제는 탐색 구성요소를 설정하고 사용하는 방법을 설명합니다. 탐색 구성요소의 대략적인 개요는 탐색 개요를 참고하세요. 환경 설정 참고: 탐색 구성요소는 Android 스튜디오 3.3 이상이 필요

developer.android.com

[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다.

오류 내용:

더보기

Caused by: com.android.aaptcompiler.ResourceCompilationException: Resource compilation failed. Check logs for details.

at com.android.aaptcompiler.ResourceCompiler.compileResource(ResourceCompiler.kt:121)

at com.android.build.gradle.internal.res.ResourceCompilerRunnable$Companion.compileSingleResource(ResourceCompilerRunnable.kt:31)

at com.android.build.gradle.internal.res.ResourceCompilerRunnable.run(ResourceCompilerRunnable.kt:15)

at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)

at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)

at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:67)

at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:63)

at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)

at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:63)

at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)

at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)

at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)

at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)

at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)

at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)

at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)

at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)

at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)

at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)

at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)

at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)

at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)

at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:60)

at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:200)

at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)

at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)

at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)

... 3 more

Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[9,10]

Message: "[xX][mM][lL]"�� ��ġ�ϴ� ó�� ��� ����� ������ �ʽ��ϴ�.

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:652)

at java.xml/com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:83)

at com.android.aaptcompiler.XmlProcessor.processElement(XmlProcessor.kt:282)

at com.android.aaptcompiler.XmlProcessor.processElement$default(XmlProcessor.kt:204)

at com.android.aaptcompiler.XmlProcessor.process(XmlProcessor.kt:127)

at com.android.aaptcompiler.ResourceCompiler.compileXml(ResourceCompiler.kt:267)

at com.android.aaptcompiler.ResourceCompiler.access$compileXml(ResourceCompiler.kt:1)

at com.android.aaptcompiler.ResourceCompiler$getCompileMethod$2.invoke(ResourceCompiler.kt:143)

at com.android.aaptcompiler.ResourceCompiler$getCompileMethod$2.invoke(ResourceCompiler.kt)

at com.android.aaptcompiler.ResourceCompiler.compileResource(ResourceCompiler.kt:118)

... 29 more

 

 

 

https://m.blog.naver.com/bb_/222057194718

 

아니.... 아무리 봐도

<?xml version="1.0" encoding="utf-8"?>

이 코드가 중복된 것이 보이지 않더니

한 시간만에 xml 코드 중간에 이 놈이 껴있는 것을 발견하고야 말았다.....

 

아무리 봐도 안보여서 뭐가 문제지 ㅠㅠ 했는데 너무너무 간단한 문제였다.. 화가 난다.......