nhn / gpm.unity Goto Github PK
View Code? Open in Web Editor NEWA brand of NHN providing free services required for game development.
Home Page: https://gameplatform.nhncloud.com/en/
License: Other
A brand of NHN providing free services required for game development.
Home Page: https://gameplatform.nhncloud.com/en/
License: Other
v1.7.0
Unity
There is no callbacks where I can get the data from a webview to pass into Unity.
A callback where I can get webview navigaton dara such as click on a button from webview to Unity
Hi, I'm using Unity version 2020.3.23 and would like to know if webview supports Quest/Quest 2 development for VR. Thanks in advance.
gpm 2.05
unity 2021.1.6f1
가이드 문서대로 따라 테스트 하고 있습니다.
스키마 콜은 단순 식으로 html 만들어서 넣었고
페이지를 showurl api사용하여 스키마 등록하여 오픈하여 해당 링크를 클릭하였습니다.
페이지는 정상 오픈되었고 해당 링크를 클릭하였을때
ERR_UNKNOWN_URL_SCHEME 페이지만 나오고 있습니다.
가이드문서에는 언급이 없는 수정사항은
AndroidManifest.xml에 usesCleartextTraffic="true" 를 추가하였고
스키마 오류가 나오는 바 intent-filterdp data android:scheme 등을 이것저것 검색하여 수정도 해보았습니다.
AndroidManifest 수정이 필요하다면 관련된 언급이나 문서가 있을까요?
1.3.0
Unity, IOS ,Android
사이즈 조절 및 위치 조정 가능 하게 됐음 좋겠어요
그럼 원하는 위치에 넣어서 보여주기가 좋을거 같습니다.
수고하세요~ 화이팅!
Write a description of the future action.
안녕하세요 항상 감사하게 GPM 툴을 사용하고 있습니다.
한가지 기능이 추가되면 더욱 더 좋은 스크롤이 될 것 같아 요청드립니다.
스크롤 리스트를 구성할때
한 화면 ( 이후 페이지라고 명칭하겠습니다) 에 보여지는 목록의 개수는 100개라고 한다면
이 페이지가 끝나는 부분에서 스크롤의 끝지점에 도착했다라는 콜백 기능이 존재하여 다음 리스트 100개를 불러 올 수 있게 할 수 있도록 개선을 요청드려요.
자주 쓰는 기능이라 이런 부분이 커스터 마이징해서 쓰게 되는것보다
제공해주시면 더 유용하게 쓰일듯 합니다.
감사합니다.
Hi,
I walk for Netmarble N2 Technical Support Team.
I have got an error while reviewing the GPM, and would like some help.
public void CallAsync(string domain, string data, string extra) {
jc.CallStatic("onRequestAsync", domain, data, extra);
}
2020.3.29F1 LTS
Issue exporting to apk as follow the tutorials. As try, with my other project unity no issue exporting apk.
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
stderr[
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:16: error: cannot find symbol
public class UnityPlayerActivity extends Activity implements IUnityPlayerLifecycleEvents
^
symbol: class IUnityPlayerLifecycleEvents
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:18: error: cannot find symbol
protected UnityPlayer mUnityPlayer; // don't change the name of this variable; referenced from native code
^
symbol: class UnityPlayer
location: class UnityPlayerActivity
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:41: error: cannot find symbol
mUnityPlayer = new UnityPlayer(this, this);
^
symbol: class UnityPlayer
location: class UnityPlayerActivity
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:47: error: method does not override or implement a method from a supertype
@OverRide public void onUnityPlayerUnloaded() {
^
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:52: error: method does not override or implement a method from a supertype
@OverRide public void onUnityPlayerQuitted() {
^
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:80: error: cannot find symbol
if (!MultiWindowSupport.getAllowResizableWindow(this))
^
symbol: variable MultiWindowSupport
location: class UnityPlayerActivity
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:90: error: cannot find symbol
if (!MultiWindowSupport.getAllowResizableWindow(this))
^
symbol: variable MultiWindowSupport
location: class UnityPlayerActivity
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:101: error: cannot find symbol
if (MultiWindowSupport.getAllowResizableWindow(this))
^
symbol: variable MultiWindowSupport
location: class UnityPlayerActivity
C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java:112: error: cannot find symbol
if (MultiWindowSupport.getAllowResizableWindow(this))
^
symbol: variable MultiWindowSupport
location: class UnityPlayerActivity
Note: C:\Users\luqman.abdullah_ln\TEST_Error\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
9 errors
FAILURE: Build failed with an exception.
Compilation failed; see the compiler error output for details.
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 12s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
]
stdout[
Configure project :launcher
WARNING: The option setting 'android.enableR8=false' is deprecated.
It will be removed in version 5.0 of the Android Gradle plugin.
You will no longer be able to disable R8
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-30\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.3.29f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Task :launcher:preBuild UP-TO-DATE
Task :unityLibrary:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
Task :launcher:generateReleaseBuildConfig
Task :launcher:compileReleaseAidl NO-SOURCE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues
Task :unityLibrary:generateReleaseResources
Task :launcher:generateReleaseResValues
Task :launcher:generateReleaseResources
Task :launcher:javaPreCompileRelease
Task :launcher:createReleaseCompatibleScreenManifests
Task :launcher:extractDeepLinksRelease
Task :unityLibrary:packageReleaseResources
Task :unityLibrary:extractDeepLinksRelease
Task :launcher:prepareLintJar
Task :launcher:desugarReleaseFileDependencies
Task :unityLibrary:generateReleaseBuildConfig
Task :unityLibrary:parseReleaseLocalResources
Task :launcher:checkReleaseDuplicateClasses
Task :unityLibrary:mergeReleaseShaders
Task :launcher:mergeReleaseShaders
Task :unityLibrary:javaPreCompileRelease
Task :launcher:compileReleaseShaders NO-SOURCE
Task :launcher:generateReleaseAssets UP-TO-DATE
Task :unityLibrary:compileReleaseShaders NO-SOURCE
Task :unityLibrary:generateReleaseAssets UP-TO-DATE
Task :launcher:processReleaseJavaRes NO-SOURCE
Task :launcher:collectReleaseDependencies
Task :launcher:sdkReleaseDependencyData
Task :launcher:mergeReleaseJniLibFolders
Task :launcher:validateSigningRelease
Task :launcher:mergeReleaseResources
Task :unityLibrary:packageReleaseAssets
Task :unityLibrary:prepareLintJarForPublish
Task :unityLibrary:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:bundleLibResRelease NO-SOURCE
Task :launcher:mergeReleaseAssets
Task :unityLibrary:mergeReleaseJniLibFolders
Task :unityLibrary:processReleaseManifest
Task :unityLibrary:compileReleaseLibraryResources
Task :launcher:processReleaseManifest
Task :unityLibrary:mergeReleaseNativeLibs
Task :launcher:mergeReleaseJavaResource
Task :unityLibrary:stripReleaseDebugSymbols
Task :unityLibrary:copyReleaseJniLibsProjectOnly
Task :unityLibrary:generateReleaseRFile
Task :launcher:processReleaseResources
Task :launcher:mergeReleaseNativeLibs
Task :launcher:stripReleaseDebugSymbols
Task :launcher:mergeExtDexRelease
Task :unityLibrary:compileReleaseJavaWithJavac
Task :unityLibrary:compileReleaseJavaWithJavac FAILED
38 actionable tasks: 38 executed
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1[T] progress, System.String error) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action
1[T] progress) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <762caba6f98a4d7e9d56f7b5bd6e35d6>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <7ebb9dc74040436998557fc331a964ba>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
Write the version that you are currently using.
Write the version of Unity, OS and so on.
InfiniteScroll의 오브젝트 배치 확장 기능에 대한 문의
저희가 사용하는 게임은 InfiniteScrollItem이 세로로 무한 스크롤이 되더라도
오브젝트가 가로로 2,3개씩 배치된 이후 세로열로 넘어가는 경우가 많은데
이럴때 구현하기가 참 번거로워서 기능문의 드려요
item Prefab의 RowCount를 지정할 수 있으면 너무 좋겠어요
팝업스타일로 웹뷰를 뛰우는데 웹뷰를 특정영역에만 뛰워야 하는 상황입니다.
혹시 크기 조절은 불가능한가요?
Write the version that you are currently using.
GPM UI 2.4.0
A clear and concise description of what the question is.
infinite scroll 을 사용해서 UI 구현 중 UI 목록에 이름을 item : 0 > 원하는 리스트이름으로 수정하고싶은데
관련 코드의 위치를 알수있을까요?
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
2.0.7
가변길이의 텍스트를 스크롤로 출력하려고 하는데 잘 구현되지 않아 질문 드립니다.
제가 구현하고자 하는 시스템은 가변길이의 텍스트를 스크롤로 출력 기능입니다.
해당 텍스트는 스크린샷과 같이 텍스트 갯수에 따라 가변적으로 오브젝트 사이즈가 늘어나도록
UGUI에서 자동으로 정렬해주는 컴포넌트인
Contents Size Filter 및 Vertical Layout Group 두가지를 부착하였습니다.
ex1) 오브젝트1의 텍스트는 3라인의 길이 : 높이가 150size
ex2) 오브젝트2의 텍스트는 2라인의 길이 : 높이가 100size
즉 이러한 오브젝트 10개를 텍스트 길이에 따라 가변적으로 InfiniteScroll을 구현하려고 했는데
에러로 인해 잘 구현이 되지 않아서
현재 제가 생각하고있는 기능이 InfiniteScroll을 통해 구현이 가능한 것인지
혹은 다른 방법을 통해 구현할 수 있을지 도움을 얻고자 문의 드립니다.
(에러는 InsertData호출 시 itemShowDataIndex변수가 null이라는 에러였습니다.)
gpm(최신) // 21.11.20기준
아이폰 빌드 후 -> 아이폰에서 웹뷰실행시 죽는현상
Steps to reproduce the behavior:
안녕하세요. Webview기능을 사용 하고있습니다.
Iphone 빌드시 필요한 작업들은 다 했고, 첫 빌드는 성공적이였습니다.
Webview가 너무 깔끔하고 좋더라구요!!
그런데 UI 수정을 간단한게 하고 , 다시 빌드시 Webview동작을 누르면 앱 자체가 죽더라구요 ㅠㅠ
그래서 다양하게 시도를 해보았습니다. 처음 한번은 GPM 플러그인을 지웠다 새로 설치후 빌드를 했는데, 웹뷰 동작이 잘 되었지만 그 이후로 다시 빌드하면 안되더라구요 ㅠㅠ
그리고 또 한번은 수십번 반복 하다보니 한번 성공을 하게 되었는데, 또 다시 빌드를 하게되면 안되더라구요 ㅜㅜ
아이폰 빌드시 유의점은 잘 적용된 상태이고, 빌드가 성공하고 Webview쪽 수정이 아닌 다른 쪽 UI수정만 있었던거라 영향이있는것도 아닙니다.
도와주세요 ㅜㅜ
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
Newest
카카오페이 인증을 위해 WebView 실행 후 카카오톡에서 인증 완료 후 돌아오면
Custom Scheme의 if문 안에 들어있는 함수는 제대로 동작합니다. 하지만 else문 밖을 빠져나와서 GpmWebView.Close()를 호출하면 웹뷰가 닫히지 않습니다.
다른 프로세스로 넘어가지 않는 경우 (다른 휴대폰이나, 에뮬레이터에서 실행해서 프로세스를 넘어가지 않고 유지하는 경우는 정상동작)
private void OnSchemeEvent(string data, GpmWebViewError error)
{
if (error == null)
{
Debug.Log("[OnSchemeEvent] succeeded.");
if (data.Equals("android://") == true || data.Contains("android") == true)
{
Debug.Log(string.Format("scheme:{0}", data));
if(data == "android://true"){
getResultForAuthentication("true"); // 인증이 완료되었으니 회원가입 UI 출력
}else{
getResultForAuthentication("false"); // 인증이 되지 않아 인증실패 메세지 출력
}
GpmWebView.Close();
}
}
else
{
Debug.Log(string.Format("[OnSchemeEvent] failed. error:{0}", error));
}
}
위 코드에서, 창이 닫히면서 회원가입 UI를 출력해줘야 함.
현재는 UI출력은 되지만 창이 닫히지 않음.
If applicable, add screenshots to help explain your problem.
getResultForAuthentication
함수 안에 Close를 호출해도 똑같습니다.
1.3.0
안녕하세요.
WebView관련해서 문의를 드리고 싶습니다.
현재 팝업모드로 WebView를 표시할 때 표시 시작위치와 사이즈 (Rect)를 지원하고 있는지 알고 싶습니다.
파라메터에는 이런 정보가 없는 것 같아서 확인차 문의 드립니다.
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
Write the version that you are currently using.
common 2.0.8
webview 1.3.2
A clear and concise description of what the question is.
네이버 자동로그인 하고나서 앱을 끄고 다시 켰는데 자동로그인이 안됩니다.
기종은 안드로이드에서 테스트 했습니다.
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
앱이 켜져 잇는 상태에서는 웹뷰가 꺼졌다가 켜져도 자동로그인이 됩니다.
자동로그인이 되는건지, 아니면 이미 로그인이 되어 있어서 스킴을 바로 던지는지는 잘 모르겠습니다.
그런데 앱을 껐다가 다시켜면 로그인을 다시 해야 합니다.
다시 열때, isClearCookie, isClearCache는 모두 false 입니다.
앱을 재실행해도 자동로그인이 풀리지 않았으면 좋겠는데 방법이 없을까요??
현재 url에 한글이 들어가면 GPMwebview에서 에러를 뱉고 있는데 혹시 해결 방법이 있을까요? [IOS]
Unity 2020.2.2f1
string script = "setInterval(function(){document.cookie='"+PlayerPrefs.GetString("Cookie")+"'}, 3000)";
Debug.Log(script);
// GpmWebView.ExecuteJavaScript("document.cookie="+PlayerPrefs.GetString("Cookie")+";alert(document.cookie)");
GpmWebView.ExecuteJavaScript(script);
예제 소스코드대로 웹뷰를 띄우되, GpmWebView.ShowUrl
다음에 다음 소스코드를 추가:
string script = "setInterval(function(){document.cookie='"+PlayerPrefs.GetString("Cookie")+"'}, 3000)";
Debug.Log(script);
// GpmWebView.ExecuteJavaScript("document.cookie="+PlayerPrefs.GetString("Cookie")+";alert(document.cookie)");
GpmWebView.ExecuteJavaScript(script);
웹뷰에서 표시해주는 웹 어플리케이션에서 document.cookie
에 Unity에서 script로 건내준 값이 저장되어야함
Android: Red Mi 10
Unity 2020.2.2f1
alert
으로 스크립트를 실행하면 정상적으로 건내어주는 cookie 값이 확인이 됩니다.
다음과 같은 이유들 중 하나 이상이 이유이지 않을까 싶습니다:
document.ready()
에 설정을 시도해봤지만 마찬가지로 document.cookie에 할당 되지 않음좋은 패키지 매니저를 제공해주셔서 감사합니다.
unknown.
Error :
Assets\GPM\Manager\Editor\Util\StringUtil.cs(11,30): error CS1729: 'Version' does not contain a constructor that takes 1 arguments
Just Import Asset, This error occurred.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
Unity Gpm WebView 1.3.2
안드로이드로 빌드 및 실행할 땐 문제가 없는데, iOS에서 실행하면 사진과 같이
네비게이션바에 버튼이 안보이고 영역 크기가 이상해 집니다.
닫기 버튼 있어야할 자리를 클릭하면 닫기가 되기는 합니다.
2019.4.17f1
iPhoneXS
iOS v13
호출한 부분 코드 발췌하여 올립니다.
GpmWebView.ShowUrl(
webNoticeUrl,
new GpmWebViewRequest.Configuration()
{
style = GpmWebViewStyle.FULLSCREEN,
isClearCookie = false,
isClearCache = false,
isNavigationBarVisible = true,
navigationBarColor = "#4B96E6",
title = HTLocaleTable.GetLocalstring("UI_Notice"),
isBackButtonVisible = true,
isForwardButtonVisible = true,
#if UNITY_IOS
contentMode = GpmWebViewContentMode.MOBILE
#elif UNITY_ANDROID
supportMultipleWindows = true
#endif
},
OnOpenCallback,
OnCloseCallback,
new List()
{
"USER CUSTOM_SCHEME"
},
OnSchemeEvent);
2.0.2
안녕하세요
빈 프로젝트에서 GPM 설치하고, 웹뷰 적용 시키고 빌드했을때는 문제 없이 잘 되는데요,
현재 작업 중인 프로젝트에서 GPM 설치 후(GPM만 설치 시 빌드 문제없음)
웹뷰 서비스 설치 했을 때 아래와 같은 오류 메시지가 나옵니다.
(implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72' 추가 여부 상관 없이 동일한 오류 발생)
android.enableR8 옵션 주석 처리 하고 빌드 해도 gson 관련 문제가 계속 나타나는데 해결 방법이 있을까요?
오류메시지 및 mainTemplate.gradle 함께 올립니다.
apply plugin: 'com.android.library'
**APPLY_PLUGINS**
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72'
implementation 'com.squareup.retrofit2:retrofit:2.6.2'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.5'
implementation "com.google.android.gms:play-services-auth:18.1.0"
implementation ('androidx.core:core-ktx:1.3.1')
implementation ('androidx.appcompat:appcompat:1.2.0')
implementation ("com.kakao.sdk:v2-user:2.0.2"){
exclude group: 'com.google.code.gson'
exclude group: 'com.squareup.retrofit2'
exclude group: 'com.squareup.okhttp3'
}
implementation ("com.naver.nid:naveridlogin-android-sdk:4.2.6")
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support:cardview-v7:25.3.
implementation 'com.android.support:customtabs:25.3.
implementation 'com.android.support:support-v4:25.3.1'
implementation 'com.facebook.android:facebook-applinks:[7.1.0, 8)'
implementation 'com.facebook.android:facebook-core:[7.1.0, 8)'
implementation 'com.facebook.android:facebook-gamingservices:[7.1.0, 8)'
implementation 'com.facebook.android:facebook-login:[7.1.0, 8)'
implementation 'com.facebook.android:facebook-share:[7.1.0, 8)'
implementation 'com.google.android.gms:play-services-auth:16+'
implementation 'com.google.android.gms:play-services-base:17.5.0'
implementation 'com.google.firebase:firebase-analytics:18.0.0'
implementation 'com.google.firebase:firebase-analytics-unity:7.0.2'
implementation 'com.google.firebase:firebase-app-unity:7.0.2'
implementation 'com.google.firebase:firebase-auth:20.0.0'
implementation 'com.google.firebase:firebase-auth-unity:7.0.2'
implementation 'com.google.firebase:firebase-common:19.3.1'
implementation 'com.google.firebase:firebase-dynamic-links:19.1.1'
implementation 'com.google.firebase:firebase-dynamic-links-unity:7.0.2'
implementation 'com.google.firebase:firebase-messaging:21.0.0'
implementation 'com.google.firebase:firebase-messaging-unity:7.0.2'
implementation 'com.google.signin:google-signin-support:1.0.4'
implementation 'com.parse.bolts:bolts-android:1.4.0'
// Android Resolver Exclusions Start
android {
packagingOptions {
exclude ('/lib/armeabi/*' + '*')
exclude ('/lib/mips/*' + '*')
exclude ('/lib/mips64/*' + '*')
exclude ('/lib/x86/*' + '*')
exclude ('/lib/x86_64/*' + '*')
}
}
// Android Resolver Exclusions End
android {
compileSdkVersion **APIVERSION**
buildToolsVersion '**BUILDTOOLS**'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion **MINSDKVERSION**
targetSdkVersion **TARGETSDKVERSION**
ndk {
abiFilters **ABIFILTERS**
}
versionCode **VERSIONCODE**
versionName '**VERSIONNAME**'
consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
}
lintOptions {
abortOnError false
}
android {
sourceSets {
main {
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
res.srcDirs += (unityProjectPath + '/Assets/Plugins/Android/Firebase/res/values/google-services.xml')
}
}
}
aaptOptions {
noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ')
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}**PACKAGING_OPTIONS**
}**REPOSITORIES**
**IL_CPP_BUILD_SETUP**
**SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**
Configure project :launcher
WARNING: The option 'android.enableR8' is deprecated and should not be used anymore.
It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8.
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Task :launcher:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :unityLibrary:preBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:preBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:preReleaseBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseAidl NO-SOURCE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :launcher:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :launcher:compileReleaseAidl NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResources UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResValues
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResources
Task :unityLibrary:packageReleaseResources UP-TO-DATE
Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:packageReleaseResources
Task :unityLibrary:processReleaseManifest
C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\unityLibrary\src\main\AndroidManifest.xml:33:5-117 Warning:
meta-data#com.google.ar.core.min_apk_version@android:value was tagged at AndroidManifest.xml:33 to replace other declarations but no other declaration present
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseBuildConfig
Task :launcher:mainApkListPersistenceRelease UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:processReleaseManifest
Task :unityLibrary:FirebaseApp.androidlib:javaPreCompileRelease
Task :unityLibrary:FirebaseApp.androidlib:parseReleaseLocalResources
Task :launcher:generateReleaseResValues UP-TO-DATE
Task :launcher:generateReleaseResources UP-TO-DATE
Task :launcher:injectCrashlyticsMappingFileIdRelease UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseRFile
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseJavaWithJavac
Task :unityLibrary:FirebaseApp.androidlib:bundleLibCompileRelease
Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:extractDeepLinksRelease
Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseLibraryResources
Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:prepareLintJarForPublish UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:bundleLibRuntimeRelease
Task :unityLibrary:generateReleaseRFile
Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseShaders
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseShaders
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseAssets
Task :unityLibrary:FirebaseApp.androidlib:packageReleaseAssets
Task :unityLibrary:FirebaseApp.androidlib:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:bundleLibResRelease
Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseJniLibFolders
Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseNativeLibs
Task :unityLibrary:FirebaseApp.androidlib:stripReleaseDebugSymbols
Task :unityLibrary:FirebaseApp.androidlib:copyReleaseJniLibsProjectOnly
Task :unityLibrary:compileReleaseKotlin
w: C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\unityLibrary\src\main\java\com\a\b\naver.kt: (27, 59): No cast needed
Task :unityLibrary:mergeReleaseShaders UP-TO-DATE
Task :unityLibrary:compileReleaseShaders UP-TO-DATE
Task :unityLibrary:generateReleaseAssets UP-TO-DATE
Task :unityLibrary:packageReleaseAssets
Task :unityLibrary:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:bundleLibResRelease UP-TO-DATE
Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
Task :launcher:extractDeepLinksRelease UP-TO-DATE
Task :unityLibrary:mergeReleaseJniLibFolders
Task :unityLibrary:javaPreCompileRelease
Task :launcher:processReleaseManifest
C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\launcher\src\main\AndroidManifest.xml:27:9-34:50 Warning:
activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launchMode was tagged at AndroidManifest.xml:27 to replace other declarations but no other declaration present
Task :launcher:prepareLintJar UP-TO-DATE
Task :launcher:checkReleaseDuplicateClasses FAILED
Task :unityLibrary:compileReleaseJavaWithJavac
Task :launcher:mergeReleaseResources
Task :unityLibrary:mergeReleaseNativeLibs
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.6.4/userguide/command_line_interface.html#sec:command_line_warnings
49 actionable tasks: 31 executed, 18 up-to-date
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
=============
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.6.4.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
stderr[
Note: C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.
1 exception was raised by workers:
java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class com.google.gson.DefaultDateTypeAdapter found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.ExclusionStrategy found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldAttributes found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy$1 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy$2 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy$3 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy$4 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy$5 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingPolicy$6 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.FieldNamingStrategy found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson$1 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson$2 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson$3 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson$4 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson$5 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.Gson$FutureTypeAdapter found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.GsonBuilder found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.InstanceCreator found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonArray found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonDeserializationContext found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonDeserializer found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonElement found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonIOException found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonNull found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonObject found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonParseException found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonParser found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonPrimitive found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonSerializationContext found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonSerializer found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonStreamParser found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.JsonSyntaxException found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.LongSerializationPolicy found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.LongSerializationPolicy$1 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.LongSerializationPolicy$2 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.TypeAdapter found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.TypeAdapter$1 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.TypeAdapterFactory found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.annotations.Expose found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.annotations.JsonAdapter found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.annotations.SerializedName found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.annotations.Since found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.annotations.Until found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.$Gson$Preconditions found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.$Gson$Types found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.$Gson$Types$WildcardTypeImpl found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$1 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$10 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$11 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$12 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$13 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$14 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$2 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$3 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$4 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$5 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$6 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$7 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$8 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.ConstructorConstructor$9 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.Excluder found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.Excluder$1 found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.GsonBuildConfig found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.JavaVersion found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.JsonReaderInternalAccess found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and jetified-gson-2.8.6.jar (com.google.code.gson:gson:2.8.6)
Duplicate class com.google.gson.internal.LazilyParsedNumber found in modules jetified-com.google.code.gson.gson-2.8.5.jar (com.google.code.gson.gson-2.8.5.jar) and j
안녕하세요 GPM의 Webview를 사용하여 유니티 내에서 구글 설문을 연동하려 합니다.
제공해주신 샘플 씬을 안드로이드 폰(안드로이드 버전: 12, 기종: 갤럭시 S21)에 빌드 하여
미리 제작된 구글설문의 링크를 입력하여 웹뷰 창을 띄웠더니 제대로 표시가 되지 않습니다.
응답자는 구글에 로그인 하지 않은 상태에서 링크만 받아 웹뷰로 구글 설문 응답을 진행하도록 하려고 합니다.
혹시 해결 방법이 없을까요?
GPM Webview 1.2.0
UICanvas -> Webview -> UICanvas등의 순서로 Webview위에 Unity UI를 띄우고 싶은데 가능한 방법이 있나요?
If applicable, add screenshots to help explain your problem.
sample 씬에서 sample url 을 https://naver.com 으로 설정했는데
모바일에서 확인을 하면
이렇게 http 로 바뀐 주소로 접속을 해서 웹 로드 실패가 뜹니다.
구글에서는 AndroidManifest.xml 파일에 android:usesCleartextTraffic="true"
추가하라는 내용이 있는데 Android 9 시절 내용이라 무용지물인거 같아요.
유니티 버전 : 2020.3.29f1
Android Gradle 설정 (커스텀) : 6.1.1
샘플 기능과 코드를 살펴 보니 지금은 단일 Texture 대상으로만 기능이 적용되는것 같습니다.
Dissolve, Grayscale, Sepia 등은 보이는 화면전체에 연출용으로 사용할 일이 많다고 여겨집니다.
Canvas하위의 UI 이미지 전체나, 특정 카메라에 렌더링되는 레이어를 대상으로, 해당 섀이더 기능들을 적용 가능할까요?
Hi,
I'm trying to open a webview when clicking on a cube. Using the example code provided in the class, I get this :
private void OnMouseDown()
{
Debug.Log("Click on cube");
ShowUrl();
}
public void ShowUrl()
{
Debug.Log("ShowUrl");
GpmWebView.ShowUrl(
"http://gameplatform.toast.com/",
new GpmWebViewRequest.Configuration()
{
style = GpmWebViewStyle.POPUP,
isClearCookie = false,
isClearCache = false,
isNavigationBarVisible = true,
title = "Test",
isBackButtonVisible = true,
isForwardButtonVisible = true,
#if UNITY_IOS
contentMode = GpmWebViewContentMode.MOBILE
#endif
},
OnOpenCallback,
OnCloseCallback,
new List<string> ()
{
"USER_ CUSTOM_SCHEME"
},
OnSchemeEvent);
}
private void OnOpenCallback(GpmWebViewError error)
{
Debug.Log("OnOpenCallback starting");
if (error == null)
{
Debug.Log("[OnOpenCallback] succeeded.");
}
else
{
Debug.Log(string.Format("[OnOpenCallback] failed. error:{0}", error));
}
}
Unfortunately, it doesn't open anything. No error in console either. Can you help me?
Thanks
Edit : Does it work with WebGL or does it only work on the android build?
1.3.0
질문 1. aOS, iOS에서 웹뷰 리모트 디버깅을 하고 싶습니다.
해당 기능 추가에 대한 계획이 있으신가요? 아니면 지금도 가능한 방법이 있나요?
질문 2. Webview의 실제 사이즈및 DPI를 알수 있을까요?
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
Hello,
Is there any way to make multiple screen in application? I tried different viewers but all of them supporting just one screen at same time.
Are you planning to make multiple screen pop-ups or multiple screen tabs?
Thanks...
Write the version that you are currently using.
A clear and concise description of what the question is.
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
Unity LayoutGroup의 Spacing과 같은 오브젝트간 간격 설정 기능은 없나요?
item에 swipe기능을 넣으려고하는데요
스크롤중에는 자꾸 x값이 고정되어버립니다.
어느항목을 수정해야 스크롤중 x값이 고정되는걸 방지할 수 있을까요?
1.3.2
유니티로 개발, 안드로이드 환경
Write a description of the current operation.
Write a description of the future action.
풀스크린으로 화면을 띄웠는데 왼쪽에 공간이 생기더라고요.
빈공간 없이 가능할까요??
IOS에서는 오른쪽 상단에 닫기 버튼이 자동으로 생성되나
현재 저의 안드로이드빌드 에서는 뒤로가기로만 닫기
기능이 가능합니다.
질문1 안드로이드에서도 IOS처럼 닫기버튼을 자동으로 생성하는 기능이 있나요?
질문2 안드로이드 에서 팝업웹뷰를 만들고 클로즈버튼을 따로 구현하려고하나
버튼이 웹뷰 에 가린듯하여 눌리지 않습니다... 웹뷰 위에 버튼을 띄우려면
어떤 작업이 필요한지요...
미리 감사드립니다.
Write the version that you are currently using.
A clear and concise description of what the question is.
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
Write the version that you are currently using.
common 2.0.8
webview 1.3.2
Write the version of Unity, OS and so on.
unity 4.19f1
Write a description of the current operation.
Pass 앱 인증을 완료하면 스킴이벤트가 동작하면서 앱이 꺼지게 해놨는데
웹뷰가 하얀상태에서 멈춰있습니다.
그러다가 x를 눌러서 웹뷰를 직접 꺼주면 그제서야 스킴이벤트가 돌아갑니다.
ios는 정상인것을 보면 androidmanifest 쪽 이슈같은데 ㅜㅜ
혹시 조언을 얻을 수 있을까 해서 글 남깁니다 ㅜㅜ
네이버와 카카오같은 경우 웹뷰를 띄우고 로그인을 하고 있는데, 이 두가지는 아주 잘됩니다.
로그인이 완료가 되면 정상적으로 스킴이벤트를 받아 웹류를 꺼주고 있습니다.
그런데 이 pass 인증만 완료를 해도 하얗게만 보이고 스킴이벤트가 동작 안하다가
앱을 꺼줘야만 동작하는것이 이상합니다ㅜㅜ
Write a description of the future action.
웹뷰에서 pass 인증 하면 스킴이벤트가 동작했으면 좋겠습니다.
먼저 멋진 웹뷰플러그인을 만들어 주셔서 감사합니다.
에디터와 Windows 빌드환경에서의 지원은 혹시 계획이 있으신지?
만약에 지원을 해주신다면 언제쯤 지원이 가능할지 여쭙습니다.
public class testItemData : InfiniteScrollData
{
public int index = 0;
public Sprite img;
}
public class test : InfiniteScrollItem
{
public Text text;
public override void UpdateData(InfiniteScrollData scrollData)
{
base.UpdateData(scrollData);
testItemData itemData = (testItemData)scrollData;
text.text = `itemData.index.ToString();`
}
}
위는 아이템 구조체이며,
testItemData data = new testItemData();
for (int i = 0; i < limit; i++)
{
data.index = i;
verticalScrollList.InsertData(data);
}
위와 같이 데이타를 넣으면
스크롤뷰에서 스크롤 후 맨마지막 데이터로 전체가 바뀝니다.
따로 설정을 빠트린 부분이 있을까요?
Windows / Unity 2020.3.12f1 / WebView 1.3.1 / Android 빌드
공식 문서의 grandle 설정은 처리했습니다.
GpmWebView.ShowUrl("https://naver.com", ... 로 코드를 추가해 두었으나 아무런 에러도 없고, 창도 뜨지 않습니다.
혹시 Unity 툴에서 실행할 때는 아무것도 안뜨나요? 실기에서만 작동되나요?
아무 반응이 없어 스샷을 넣을 수 없습니다. ^^a
웹뷰가 작동하는 풀 샘플 코드가 있는 아티클이 있다면 링크 부탁드립니다.
Write the version that you are currently using.
GPM 버전 2.0.5
유니티 2021.2.8f
A clear and concise description of what the question is.
안녕하세요 GPM 웹뷰를 사용해 구글 로그인에 사용하려고 하는데
구글 로그인 api 를 호출하면 403. disallowed_useragent 오류가 발생합니다.
해서 관련 자료를 찾아보니 useragent를 다른 것으로 호출하여 해결하는 방법이 있다고 하는데요
GPM 웹뷰 관련 기능에 useragent를 변경하려면 어떻게 해야 하나요?
아래처럼 userAgent를 변경하면 403에러가 해결 된다고 합니다. !!
userAgent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
현재 웹뷰에서 호출하고 있는 url (google login rest api) 입니다.
https://toytron2021.cafe24.com/toy-tron/api/oauth/google
[useragent 관련 블로그]
https://nitr0.tistory.com/321
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
아래 두개의 문의내용은 셰이더를 통해 처리가 가능하다고 알고는 있지만,
제가 적용하는데 어려움을 겪었던 기능들이라 문의 드려봅니다.
Blur Effect
연출적으로 굉장히 많이 쓰이는 기능인데 사실 'Post Processing Stack V2 패키지의 Depth of Field'로 지원하고 있지만 저 패키지는 이 효과만을 위해 사용하기에는 좀 무겁다고 생각해서 문의 드려봅니다.
투명도가 적용된 리소스 중복 제거
유니티에서 CanvasGroup을 통해 Alpha값을 조절하는 경우 이미지 리소스가 겹치는 곳은 샘플 리소스와 같이 색이 진해지는 효과가 있습니다.
제가 원하는것은 알파값이 있는 이미지가 겹치는 경우 중복을 제거하고 하나의 알파값만 적용하고 싶습니다.
제가 찾아보니 스텐실 버퍼라는 세이더 기능을 통해 해결 할 수 있다고 알고는 있지만
자체적으로 찾아 적용하기에 너무 어렵고 잘 작동하지 않아 이러한 기능에 대해 문의 드려봅니다.
Add any other context about the service here.
Common 2.0.4
Communicator 1.0.2
WebView 1.3.0
ShowHtmlString()함수 실행할 때 오류가 떠서, 단순 URL 열기 구현으로 테스트했는데, ShowUrl 함수 호출로도 에러가 발생합니다..ㅠ
아래는 구현 예제입니다. (콜백에 null 말고 예제에 나온 함수로 넣어도 같은 증상입니다)
Gpm.WebView.GpmWebView.ShowUrl("http://www.naver.com", new Gpm.WebView.GpmWebViewRequest.Configuration()
{
style = Gpm.WebView.GpmWebViewStyle.FULLSCREEN,
isClearCookie = false,
isClearCache = false,
isNavigationBarVisible = true,
title = "네이버",
isBackButtonVisible = true,
isForwardButtonVisible = true,
#if UNITY_IOS
contentMode = GpmWebViewContentMode.MOBILE
#endif
}, null, null, null, null);
관계가 있을지는 모르겠지만, 스크린샷에 나온 에러 발생보다 위쪽에 Error libprocessgroup set_timerslack_ns write failed: Operation not permitted 에러도 발생하였습니다.
Add any other context about the problem here.
Write the version that you are currently using.
common 2.0.8
webview 1.3.2
Write the version of Unity, OS and so on.
unity 4.16f1
안드로이드 모든 기종
Write a description of the current operation.
Write a description of the future action.
우선 너무 자주 글을 남기는 것 같아서 죄송합니다.ㅜㅜ
나이스아이디에서 제공하는 본인인증을 이용중입니다.
통신사 선택하고 pass 로 인증하기를 누르면
pass 앱이 실행되어야 하는데 설치페이지로 넘어갑니다.
pass 는 이미 설치가 되어 있고 다른 앱에서는 잘 사용하고 있습니다.
그리고 IOS 는 잘 된다고 합니다. 제가 직접보진 못하고 qa 분에게 전달받았습니다.
나이스아이디 측에 문의해 보니 웹뷰 설정을 해줘야 한다고하는데요.
viewport가 혀용되어야 한다는것과
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
<필수설정>
setJavaScriptEnabled(true); // 웹뷰 내 javascript 이용 여부
setDomStorageEnabled(true); // 웹뷰 내 로컬스토리지 이용 여부
setJavaScriptCanOpenWindowsAutomatically(true); // 웹뷰 내 window.open() 허용 여부
setWebViewClient(new DemoWebViewClient()); // 웹뷰 내 URL별 분기 처리
// (DemoWebViewClient 클래스 참고)
이렇게 가이드 문서에 적시하고 있습니다.
하지만 gpm 관련해서 어디서 어떻게 설정해야 할지 모르겠더라구요.
조언부탁드릴게요ㅜㅜ
웹뷰 사용중입니다.
아이핀 인증 중에 진행이 안되어서요.
아이디 비번 이후 2차 비밀번호 입력창이 떠야 하는데, 다시 아이디 비번 입력하게 됩니다.
어떻게 해야 할지 조언 부탁드릴게요.
최신버전
웹뷰 사용
If applicable, add screenshots to help explain your question.
안녕하세요.
웹뷰에서 팝업허용할 방법이 있을까요?
안드로이드 환경입니다.
Write the version that you are currently using.
Write the version of Unity, OS and so on.
Write a description of the current operation.
Write a description of the future action.
Lasted Version
Webview Feature Question
None
Asset을 잘사용하고 있습니다. 혹시나 웹뷰를 HTML Texture나 Texture 변환하여 UI 부분이나 맵핑처리가 가능한지 알고싶습니다.
현재 버전에서 안된다면 업데이트할 예정인지 알고 싶습니다. 감사해요~
unity 2020.03.20f
Error
If applicable, add screenshots to help explain your question.
2022-04-19 12:55:35.267 27603 27656 Error Unity AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
2022-04-19 12:55:35.267 27603 27656 Error Unity java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.gpm.webview.GpmWebView.close(Unknown Source:2)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.gpm.webviewplugin.GpmWebViewPlugin.close(Unknown Source:2)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.gpm.webviewplugin.GpmWebViewPlugin.onAsyncMessage(Unknown Source:133)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.gpm.webviewplugin.GpmWebViewPlugin$1.onRequestMessageAsync(Unknown Source:2)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.gpm.communicator.internal.MessageReceiver.onRequestAsync(Unknown Source:38)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
2022-04-19 12:55:35.267 27603 27656 Error Unity at android.os.Handler.dispatchMessage(Handler.java:102)
2022-04-19 12:55:35.267 27603 27656 Error Unity at android.os.Looper.loop(Looper.java:223)
2022-04-19 12:55:35.267 27603 27656 Error Unity at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
2022-04-19 12:55:35.267 27603 27656 Error Unity Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
GPM WebView 1.5.0
Unity에서 빌드 후 Xcode에서 빌드(Archive)하면
The linked framework 'GamePackageManagerWebView.framework' is missing one or more architectures
required by this target: armv7.
라는 오류 메세지가 뜹니다. 그래서 터미널로 프레임 워크를 확인해본 결과 해당 프레임 워크는 arm64, x86_64에서만 지원하는것을 확인했습니다.
Xcode 빌드 세팅시 기본 아키텍쳐를 armv7, arm64로 사용중인데 이런 경우는 어떻게 해결해야하나요?
참고로 Excluded Architectures 항목에서 Debug에 Any SDK armv7 을 추가해봤지만 오류는 여전했습니다.
If applicable, add screenshots to help explain your question.
Add any other context about the problem here.
FullScreen모드로 지정 했습니다 유니티도 기본으로 몰입모드로 실행 중이고요.
isNavigationBarVisible = false로 했는데도 웹뷰에서만 하단바가 나타납니다.
이건 숨길수 없을까요? 현재 에셋스토에서 받은 버전은 2.0.2 입니다.
public void ShowUrl()
{
GpmWebView.ShowUrl(
"http://gameplatform.toast.com/",
new GpmWebViewRequest.Configuration()
{
style = GpmWebViewStyle.FULLSCREEN,
isClearCookie = false,
isClearCache = false,
isNavigationBarVisible = false,
title = "The page title.",
isBackButtonVisible = false,
isForwardButtonVisible = false,
#if UNITY_IOS
contentMode = GpmWebViewContentMode.MOBILE
#endif
},
OnOpenCallback,
OnCloseCallback,
new List()
{
"USER_ CUSTOM_SCHEME"
},
OnSchemeEvent);
}
2.0.5
버전관리 프로그램으로 퍼포스를 사용하는 프로젝트에서 GPM의 AssetManagement 모듈을 설치하거나 활성화하는 과정에서 언어 관련 Xml 파일을 읽을때 권한 없음 에러가 일어나 AssetManagement가 활성화되지 않습니다.
XmlHelper.cs의 LoadXmlFromFile() 메서드에서 파일 접근 권한을 FileAccess.Read로 명시적으로 지정하면 정상 동작합니다.
수정전
try
{
var serializer = new XmlSerializer(typeof(T));
using (var stream = new FileStream(path, FileMode.Open))
{
result = (T)serializer.Deserialize(stream);
}
}
수정후
try
{
var serializer = new XmlSerializer(typeof(T));
using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
result = (T)serializer.Deserialize(stream);
}
}
퍼포스 등 체크아웃 전에는 파일을 쓰기 금지로 지정하는 버전 관리 시스템을 활성화하는 프로젝트에서..
AssetManagement 가 예외나 에러 없이 활성화됨
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.