HearthSim / Arcane-Tracker

An automatic Hearthstone tracker for Android
https://arcanetracker.com/
Other
148 stars 36 forks source link

Arcane Tracker is no longer in the Play Store and not working with Android 11 #153

Closed kanamares closed 3 years ago

kanamares commented 4 years ago

App not available through Play Store, and not more any updates

martinbonnin commented 4 years ago

Unfortunately Google has removed Arcane Tracker from the Google Play and removed file system access in Android 11, which means Arcane Tracker could not read logs any more so Arcane Tracker is not officially supported anymore. You can read more about this in the HSReplay.net blog post

You can watch github releases. I'll keep updating cards from time to time for users that don't have Android 11 but that's the most we can do so far.

m4tchl commented 4 years ago

I could not find the app for 4.54 version...

martinbonnin commented 4 years ago

Sorry about that, the CI build failed, I just uploaded the version manually: https://github.com/HearthSim/Arcane-Tracker/releases/tag/454

l3laze commented 4 years ago

How are cards added? It should be possible to automate the process, though it would still do well to have human review.

martinbonnin commented 4 years ago

It's pretty much automated, there's a script in the script folder if you want to tryOn Nov 7, 2020 6:53 AM, Tom notifications@github.com wrote: How are cards added? It should be possible to automate the process, though it would still do well to have human review.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

D4koon commented 3 years ago

Im no expert on android but was searching a little bit about the issue and it seems like there is a way arround it? https://developer.android.com/training/data-storage/use-cases#opt-out-scoped-storage Other apps seem to use that as well

Not sure about a release in playstore, that i think wont change but, maybe you could use an alterative store? F-droid?

martinbonnin commented 3 years ago

@D4koon do you have any example of apps reading other apps files? This is not just about accessing the external directory but about reading the Hearthstone specific data in this directory.

dnldev commented 3 years ago

It specifically says:

Caution After you update your app to target Android 11 (API level 30), the
system ignores the requestLegacyExternalStorage attribute
when your app is running on Android 11 devices, so your app must be ready to
support scoped storage and to migrate app data users on those devices.

Which makes it clear why the app will not be able to be supported in Android 11 unless they add a new way to ask for that dangerous permission.

On Sun, Mar 28, 2021, 12:40 Martin Bonnin @.***> wrote:

@D4koon https://github.com/D4koon do you have any example of apps reading other apps files? This is not just about accessing the external directory but about reading the Hearthstone specific data in this directory.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/HearthSim/Arcane-Tracker/issues/153#issuecomment-808878348, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD6CAG7YB67TNHN2QLLXO2DTF4IRNANCNFSM4S6HGHRQ .

martinbonnin commented 3 years ago

Yup, this is what I had in mind too. Also from https://developer.android.com/about/versions/11/privacy/storage#other-app-specific-dirs:

On Android 11, apps can no longer access files in any other app's dedicated, app-specific directory within external storage.
UndarkAido commented 3 years ago

Solid Explorer can access these logs on Android 11. Is that what y'all need? Screenshot_20210331-212003

martinbonnin commented 3 years ago

@UndarkAido Do you mind sharing the full path from the root of the filesystem and your OS version? Also double-checking: you didn't root your phone, right?

UndarkAido commented 3 years ago

@martinbonnin /storage/emulated/0/Android/data/com.blizzard.wtcg.hearthstone/files/Logs Pixel 4XL running Android 11 build Rq2A.210305.006 Unrooted

martinbonnin commented 3 years ago

Interesting... I can't seem to access this. I have "Internal Memory", which I believe should map to /storage/emulated/0/ but somehow can't get to com.blizzard.wtcg.hearthstone

D4koon commented 3 years ago

Today i tried it too and it also worked (unrooted) Solid Explorer told me so i have to grant access to the folder as can be seen in the following picture:

After that i could acces the logs with the app:

martinbonnin commented 3 years ago

Thanks! I can reproduce too. I'll dig to see how they were able to do this.

martinbonnin commented 3 years ago

Good news: there's a trick to get access to the Hearthstone logs 🎉 . It's documented there: https://stackoverflow.com/questions/65967690/how-do-some-apps-reach-the-contents-of-android-sub-folders-on-android. Bad news: it looks painfully slow to the point where tracking lags several minutes. If anyone's curious, the branch is at https://github.com/HearthSim/Arcane-Tracker/tree/saf

I'll keep digging to see if that can be optimized somehow. Overall, that trick really looks like an oversight from Google. Not sure how long it will take before they patch it but if I can make the tracker work reliably on Android 11, I'll make a release

UndarkAido commented 3 years ago

@martinbonnin Is that the way Solid does it? If I'm remembering right I think it did something where Android asked me what folder to give it access to and I just told it the SD root?

martinbonnin commented 3 years ago

Yep, same kind of things I believe. Somehow passing the INITIAL_URL is the key to getting access to Android/data and Android/obb.

martinbonnin commented 3 years ago

And tentative version using the workaround and the storage access framework is live: https://github.com/HearthSim/Arcane-Tracker/releases/tag/461

It is working on my ~machine~ phone (™️) but I'm not 100% sure how this is supposed to work so please report how that worked for you.

CognitiveMango commented 3 years ago

Was greeted by a prompt to grant access to the HS folder on first launch. Tracker lagged really hard and froze after granting access. Eventually started responding and queued up button presses started running. Restarted the tracker and played a few games. Card/hand tracking and win/loss tracking is working fine at the very least. Thank you!

Tested on a OnePlus 7T Pro, Android 11 (OOS 11)

Can provide logs if needed.

On Thu, Apr 8, 2021, 01:37 Martin Bonnin @.***> wrote:

And tentative version using the workaround and the storage access framework is live: https://github.com/HearthSim/Arcane-Tracker/releases/tag/461

It is working on my machine phone (™️) but I'm not 100% sure how this is supposed to work so please report how that worked for you.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/HearthSim/Arcane-Tracker/issues/153#issuecomment-815212934, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEFSQUTNU6RJPDLMB4PSXF3THS3RNANCNFSM4S6HGHRQ .

UndarkAido commented 3 years ago

It didn't work for me- I'm going to try resetting it to try again.

Pixel 4XL, Android 11

Edit: Yeah still not working :/

D4koon commented 3 years ago

For me it also doesn't work. Is there a debug mode or log that can be displayed?

Esheep57 commented 3 years ago

Doesn't work on Pixel 5 :/

vincentBesseau commented 3 years ago

Hi @martinbonnin , I tryed your test version (https://github.com/HearthSim/Arcane-Tracker/releases/tag/461) on my One Plus 8 pro not rooted. It seem work but when I am on game I see my deck but it was not refresh when I draw or play a card.

Otto42 commented 3 years ago

Works on a Pixel 4XL, running Android 11. No noticable lag in detecting the plays that I can see.

ex4722 commented 3 years ago

Works on a Pixel 4XL, running Android 11. No noticeable lag in detecting the plays that I can see.

Where did you install the initial log file to? I tired the default spot and it cant seem to detect any of the game changes. I can see the current deck but not the opponent one

CognitiveMango commented 3 years ago

It's a little buggy at times. I installed it to the default location it picked, I'd have to check again if you really need the path. I experience the same bug as you occasionally, and I just close and restart the tracker when that happens and it starts working again. Not ideal, but it's a workaround.

On Wed, Apr 28, 2021, 02:06 Eddie Xiao @.***> wrote:

Works on a Pixel 4XL, running Android 11. No noticeable lag in detecting the plays that I can see.

Where did you install the initial log file to? I tired the default spot and it cant seem to detect any of the game changes. I can see the current deck but not the opponent one

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/HearthSim/Arcane-Tracker/issues/153#issuecomment-827912193, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEFSQUV5SLEC232EK6OO4G3TK4N3JANCNFSM4S6HGHRQ .

ScottAllen11 commented 3 years ago

Was working on my Galaxy A50. Changed to an S21. Not seeing the logs. I can find them manually with Total Commander. I'm not sure if I set the right permission location for Arcane Tracker. How can I check it or reset it? Reinstalled but it didn't ask again.

CognitiveMango commented 3 years ago

Clear external storage access permission from android app settings, it will prompt you to grant access again when you open the app.

Here's a screenshot and the path:

Screenshot_20210430-084120.jpg

On Fri, Apr 30, 2021, 08:29 ScottAllen11 @.***> wrote:

Was working on my Galaxy A50. Changed to an S21. Not seeing the logs. I can find them manually with Total Commander. I'm not sure if I set the right permission location for Arcane Tracker. How can I check it or reset it? Reinstalled but it didn't ask again.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/HearthSim/Arcane-Tracker/issues/153#issuecomment-829761406, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEFSQUSBJMFVRZAJMUPST2DTLIMHZANCNFSM4S6HGHRQ .

ScottAllen11 commented 3 years ago

The marker file is in the same folder as the screenshot. So is log.config but it is 0 bytes. I do want to use the "files" folder under com.blizzard.wtcg.hearthstone, correct? Or do I need to pick the logs folder instead? The directions aren't very clear here.

I've cleared the external permissions and granted access to the files folder under Hearthstone, but Arcane Tracker still doesn't seem to see the logs on the new phone. I don't get decklists or anything.

jasmeralia commented 3 years ago

Should I try testing this on a device still using Android 10? Not sure if that would be helpful, but I'm looking at migrating from my Tab S6 to an S7 in the future and want to help this any way I can.

jasmeralia commented 3 years ago

So I updated my S6 to Android 11 and wasn't able to get this to work. Somehow it was only getting media access to storage, not file access. I did get the S7+ like I planned, and upgraded that to 11 and everything works like before (practice mode doesn't accurately track decks, but that's a known issue, I believe, similar to Duels).

I was doing some reading up on scoped storage and there's a new permission that was recently added, MANAGE_EXTERNAL_STORAGE. https://www.xda-developers.com/android-11-all-files-access-permission-form/ has details. That might be a long term workaround, as it's intended to do what we're trying here, rather than the slower method that looks more like an oversight.

Now, I doubt you'd get approval to use it on the Play Store, but if you're continuing to release APKs, it shouldn't be an issue.

jasmeralia commented 3 years ago

I spoke too soon. Not sure what changed (maybe just rebooting the devic3?), but it's back to media only permission on the S7+. Any luck with a build using the flag I dug up?

alexbarg3000 commented 3 years ago

Is new version for miniset coming any time soon?

jasmeralia commented 3 years ago

So I was finally able to get things building locally and I was able to test the permission changes I mentioned earlier. By adding the MANAGE_EXTERNAL_STORAGE permission (which required bumping compileSdkVersion to 30) in the various XML manifest files and Kotlin files that check permissions, I was able to get things up and running again on my Android 11 tablet. You need to double check that the permission actually takes, as I saw some occurrences where it got past the initial loading screens that prompt you for permissions, but when checking the status of the app, access was denied. It should show with "Allow management of all files" for the storage permission. I've got a branch up here: https://github.com/stormerider/Arcane-Tracker/tree/android11

kanamares commented 3 years ago

Team already working on this

alexbarg3000 commented 3 years ago

If you start the game using tracker, it doesn't work and you have to close the tracker and start it again once the game is running. this wasn't a problem before. Now tracker constantly crashes and needs restarting manually. Also. tracker randomly starts itself for no reason and runs in the background. Android 10

jasmeralia commented 3 years ago

I haven’t had any crashes, but I’m seeing the other issues reported by @alexbarg3000 .

martinbonnin commented 2 years ago

Hi everyone 👋

@kaluokeda maintains an alternate tracker at https://github.com/keluokeda/hs_tracker. It's not on the Google Play but you can download the apk from the releases page.

I haven't looked at the code myself so this is not any form endorsement of the tracker (in other words, use at your own risks). But if you're looking for a functional and maintained tracker for Android, that might be your chance!

jasmeralia commented 1 year ago

Looks like that project disappeared. I think I have a cchecked out copy, but I'll have to confirm.

martinbonnin commented 1 year ago

That project did disappear indeed 🤷

CognitiveMango commented 1 year ago

Huh, wonder what happened. I do have a copy of the APK saved, but didn't feel comfortable granting it the requested permissions so haven't tested it. I was going to wait for you to look over the code and endorse it before I tested it just to be safe lol.

On Wed, Nov 16, 2022, 13:55 Martin Bonnin @.***> wrote:

That project did disappear indeed 🤷

— Reply to this email directly, view it on GitHub https://github.com/HearthSim/Arcane-Tracker/issues/153#issuecomment-1316584028, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEFSQUTRNEVQL5I3US4LWRTWISK6PANCNFSM4S6HGHRQ . You are receiving this because you commented.Message ID: @.***>

martinbonnin commented 1 year ago

I was going to wait for you to look over the code and endorse it before I tested it just to be safe lol

Don't hold your breath there. I don't have much time left for Hearthstone stuff these days. A thorough audit is a huge project. The fact that the repo disappeared isn't a great sign TBH so yea, "use at your own risk" is going to be the mantra.