googlesamples / unity-jar-resolver

Unity plugin which resolves Android & iOS dependencies and performs version management
Other
1.21k stars 337 forks source link

[Bug] Android Force Resolve/Resolve destroyed existing m2repository and generatedLocalRepo but failed to generate new one #624

Closed ZhenWang-Puzzlecats closed 1 year ago

ZhenWang-Puzzlecats commented 1 year ago

[READ] For Firebase Unity SDK issues, please report to Firebase Unity Sample

Once you've read this section and determined that your issue is appropriate for this repository, please delete this section.

[REQUIRED] Please fill in the following fields:

[REQUIRED] Please describe the issue here:

When use the android dependency resolver from assets -> External Dependency Manager -> Android Resolver -> Resolve/Force Resolve, the old GeneratedLocalRepo got deleted but no new one was generated, which resulted in the failure of building apk.

Please answer the following, if applicable:

What's the issue repro rate? 100%

What happened? How can we make the problem occur? On my PC it happens 100% of the time, here is the error report screenshot and log error screenshot

error logs below (All of them are identical except the XML file

Assets/firebasesdk/Firebase/Editor/AnalyticsDependencies.xml:18: Repo path 'Assets/Firebase/m2repository' does not exist.
UnityEngine.Debug:LogWarning (object)
Google.Logger:Log (string,Google.LogLevel) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/VersionHandlerImpl/src/Logger.cs:129)
GooglePlayServices.PlayServicesResolver:Log (string,Google.LogLevel) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1055)
GooglePlayServices.GradleResolver:RepoPathToUri (string,string) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/GradleResolver.cs:236)
GooglePlayServices.GradleResolver:DependenciesToRepoUris (System.Collections.Generic.IEnumerable`1<Google.JarResolver.Dependency>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/GradleResolver.cs:279)
GooglePlayServices.PlayServicesResolver:GetRepos (System.Collections.Generic.IEnumerable`1<Google.JarResolver.Dependency>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:2098)
GooglePlayServices.LocalMavenRepository:FindLocalRepos (System.Collections.Generic.ICollection`1<Google.JarResolver.Dependency>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/LocalMavenRepository.cs:40)
GooglePlayServices.LocalMavenRepository:FindAarsInLocalRepos (System.Collections.Generic.ICollection`1<Google.JarResolver.Dependency>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/LocalMavenRepository.cs:76)
GooglePlayServices.GradleTemplateResolver:CopySrcAars (System.Collections.Generic.ICollection`1<Google.JarResolver.Dependency>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/GradleTemplateResolver.cs:121)
GooglePlayServices.GradleTemplateResolver:InjectDependencies (System.Collections.Generic.ICollection`1<Google.JarResolver.Dependency>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/GradleTemplateResolver.cs:488)
GooglePlayServices.PlayServicesResolver/<ResolveUnsafe>c__AnonStorey25:<>m__49 () (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1968)
Google.RunOnMainThread:ExecuteNext () (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:486)
Google.RunOnMainThread:<ExecuteAllUnnested>m__12 () (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:536)
Google.RunOnMainThread:RunAction (System.Action) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:343)
Google.RunOnMainThread:ExecuteAllUnnested (bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:530)
Google.RunOnMainThread:Run (System.Action,bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:472)
GooglePlayServices.PlayServicesResolver:ResolveUnsafe (System.Action`1<bool>,bool,bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1967)
GooglePlayServices.PlayServicesResolver:ResolveUnsafeAfterPromptCheck (System.Action`1<bool>,bool,bool,bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1844)
GooglePlayServices.PlayServicesResolver/<ResolveUnsafeAfterJetifierCheck>c__AnonStorey23:<>m__45 (bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1755)
GooglePlayServices.PlayServicesResolver:CanEnableJetifierOrPromptUser (string,System.Action`1<bool>) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:2743)
GooglePlayServices.PlayServicesResolver:ResolveUnsafeAfterJetifierCheck (System.Action`1<bool>,bool,bool,bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1752)
GooglePlayServices.PlayServicesResolver/<ScheduleResolve>c__AnonStorey21:<>m__44 () (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1719)
GooglePlayServices.PlayServicesResolver:ExecuteNextResolveJob () (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1576)
GooglePlayServices.PlayServicesResolver:ScheduleResolve (bool,bool,System.Action`1<bool>,bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1732)
GooglePlayServices.PlayServicesResolver:ExecuteMenuResolve (bool) (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:2032)
GooglePlayServices.PlayServicesResolver:MenuResolve () (at /Users/chkuang/Workspace/git/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:2048)

If you have a downloadable sample project that reproduces the bug you're reporting, you will likely receive a faster response on your issue.

paulinon commented 1 year ago

Hi @ZhenWang-Puzzlecats,

By going to the Assets > ExternalDependencyManager > Editor folder, you will see another folder corresponding to the resolver's version. Going back to your issue, could you try if enabling both Custom Main Gradle Template and Custom Gradle Properties Template from your Player Settings > Publishing Settings makes any difference?

ZhenWang-Puzzlecats commented 1 year ago

Hi the version is 1.2.172

I have enabled those, and if I do resolve/force resolve a popup with success message will show up, but still no GeneratedLocalRepo build settings

Also my project root is D:\git\Sudoku, does git here cause any problem?

paulinon commented 1 year ago

Hi @ZhenWang-Puzzlecats,

The latest version of the resolver is 1.2.176. Could you try it out and see if it makes any difference? If it doesn't, could you provide a minimal, reproducible example of your implementation so we can identify what's causing this?

ZhenWang-Puzzlecats commented 1 year ago

Hi paulinon

After a few days of digging into the problem, I found it was a path issue, so in my machine, the EDM is looking for Project/Assets/Firebase for firebase plugin and its m2repositories, but the actual folder contains everything under Project/Assets/FirebaseSDK/Firebase due to our project setup. So the issue is resolved if I move the Assets/FirebaseSDK/Firebase -> Assets/Firebase. This only happens to me and not to other team members working on the same project.

paulinon commented 1 year ago

Glad to hear that you found a solution, @ZhenWang-Puzzlecats. I'll be closing this for now. Let me know in case an issue arises.