Android Target API Requrements API level 26

Discussion in 'Legacy GameMaker Community Tech Support' started by Howard Lehr, May 21, 2018.

  1. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    When posting updates on the Google Play Store, the following warning appears:
    SS 2018-05-21, 11_41_07.png

    These are the settings that came from following: https://help.yoyogames.com/hc/en-us/articles/216753498-GameMaker-Studio-Android-SDK-and-NDK-setup-

    SS 2018-05-21, 10_58_32.png

    Just changing the API target from 16 to 26, creates un-surprising GRADLE errors, primarily saying that it doesn't like the support lib being a lower API version than the target.

    Can anyone save me a ton of time and frustration and trial-and-error and list out the correct following items to comply with the Play Store's demands? I would be forever in your debt. :)

    Target SDK:
    Min SDK:
    Compile SDK:
    Support Lib:
     
  2. 2Dcube

    2Dcube Member

    Joined:
    Jun 23, 2016
    Posts:
    293
    I'm not too familiar with the Google SDK stuff but I think doing as it says might help.
    Update support lib to at least to at least 26.
    You can do this in the Google SDK Manager program, which you can download and install freely if you don't have it already.
     
  3. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    Thanks for the reply 2Dcube. Here's a pic of the SDK downloader. It shows the Android Support Library rev 23.2.1 is installed, and even after looking for updates, updating the Support Repository and various other updates, there is no obvious way to update the Support Library. Adding different numbers, like matching the build tools # just gives the same error in the lint report.

    "'
    ../../build.gradle:44: This support library should not use a different version (23) than the compileSdkVersion (26)
    41 }
    42
    43 dependencies {
    44 compile 'com.android.support:support-v4:23.2.1'
    45 compile 'com.android.support:multidex:1.0.1'
    46 compile files('libs/ini4j-0.5.2.jar')
    "'

    Help a kinda slow programmer figure this out?? THANKS!!

    SS 2018-05-22, 16_04_29.png
     
  4. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,525
    The GM:S 1.4 Required SDKs Article says that support libs are no longer listed in the SDK Manager, and instead can be found at:
     
  5. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    Thanks rIKmAN, that allows for a compile... still haven't tested the build but it's uploading now thanks to you. (you da man!)

    However, this all seems a bit strange. Play Store insists we target 26, and to get the Gradle to play nice, we have to use a version 26.0.0, whichi is an ALPHA library!!! Really?!?!?!? Does this bother anyone else or should I just stop worrying and get on with it? :)
    support_lib_alpha.png
     
    Wraithious likes this.
  6. Wraithious

    Wraithious Member

    Joined:
    Jun 24, 2016
    Posts:
    1,166
    I hear you, but yes thats their rules and if you dont comply before august you will never be able to update those games, Ive spent the last 3 weeks updating all of my 21 games and apps on the playstore, 4 of which were unsuccessful because of a keystore error i ran into last year :(
     
  7. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    Ugh, OK, thanks Wraithious.
     
    Wraithious likes this.
  8. danibus

    danibus Member

    Joined:
    Jun 27, 2016
    Posts:
    40
    Hi there, same problem here.
    Could you pls explain how do you solve the problem? I didn't understand how to do it
     
  9. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    1. Used the Android SDK manager to update the Support Repository. That's how the support libraries are installed these days. :/
    2. Updated the SDK to acommodate the following settings (these worked, but it's still not 100% clear why/how the new settings changed the permissions in the app)

    Target SDK = 26
    Min SDK = 14
    Compile SDK = 26
    Build Tools = 26.0.0
    Support Lib = 26.0.0

    Anyone who can shed light on the issue of how different support libraries automatically change permissions required by the app, and link to where this is documented would be considered a saint for all times. :)
     
    danibus likes this.
  10. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    rIKmAn,

    OK, now I'm really disturbed... your help got me compiling again and all seemed well. However, since the downed server event, compiling is broken for android AGAIN!!

    Preferences look like this:
    SS 2018-06-08, 10_59_33.png
    All settings are the same:

    Target SDK = 26
    Min SDK = 14
    Compile SDK = 26
    Build Tools = 26.0.0
    Support Lib = 26.0.0

    And all of that was working fine. However, builds fail saying:

    I tried updating JDK to 10.0 and changing the path in preferences. That makes the IDE lack the ability to see the JDK? Here's the output:
    Any ideas on what may have broken in the meantime? None of these settings were touched since the last couple of successful compiles.
     
  11. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,525
    Refer back to the 1.4 Required SDKs Article I linked for the supported versions (1.8 "8u102") which is more than likely why Java 10 isn't recognised.

    If nothing has changed since you last successfully compiled (SDKS, Tools, IDE, Windows Updates etc) then I would try cleaning the cache and recompiling.
    If that fails create a fresh new empty room project and see if that works, that will narrow it down to a problem with your specific project or the compilation tools.
     
  12. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    Thanks,

    When you say "cleaning the cache" do you mean the "clean" button that looks like a brush? I use that before every compile no matter what, so that can't help.

    Not surprised about the Java 10 fail, just curious if it would work. Reverted back immediately when it failed, still no luck.

    Strangely, a LINT report isn't being generated. Does that help to narrow the issue down??? That's new to me, they have always generated no matter how badly things went. :/

    Will try a "clean room" compile and see if the issue becomes obvious. Thanks for any advice.
     
  13. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    Thanks rIKmAN,

    Your advice was good, and a "clean room" project compiles just fine with the same tools settings, so it looks like it's not a build tools problem per se. Strangely enough, the LINT report sill is not generated during the compile, but that's probably because there are no fatal errors???

    Is there a way to "uber-clean" the project? Another interesting data point; iOS builds won't archive or verify in Xcode. Xcode complains about a missing Google Mobile Ads Banner and commenting out that code in Xcode causes a cascade of other fatal issues so it looks like the project did in fact get messed up. This all happened after failed attempts to build when the Yoyo web site was down. Possible solutions include:

    1. Go back to a backup, make sure it compiles, re-implement the bug fixes since then and go from there. Time consuming and annoying, but might work.
    2. Uninstall and re-install all the extensions. Maybe one of them, especially the Ads extension might have become roached??

    That's all, but any advice on where to go first, or other ideas on how to get the durn thing compiling again are much appreciated.
     
  14. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,525
    Well at least your compile tools are working, so you know the issue is project specific.

    You can manually clear the caches in Preferences, be careful not to click the button to clear the "Backup" folder, as that's all your project backups, obviously.
    You could also try deleting the .gradle folder from your projects directory in case that has become corrupted.

    For Lint - are you sure you have reporting enabled in the settings?

    Other than that, your plan of actions sounds good - you just need to isolate the issue if possible by testing.
    You could also try making a new project and copy in assets to see if that allows it to compile.

    Good luck!
     
  15. Howard Lehr

    Howard Lehr Member

    Joined:
    Aug 23, 2016
    Posts:
    57
    QUOTE="rIKmAN, post: 299386, member: 4841"]Well at least your compile tools are working, so you know the issue is project specific.

    You can manually clear the caches in Preferences, be careful not to click the button to clear the "Backup" folder, as that's all your project backups, obviously.
    You could also try deleting the .gradle folder from your projects directory in case that has become corrupted.

    For Lint - are you sure you have reporting enabled in the settings?

    Other than that, your plan of actions sounds good - you just need to isolate the issue if possible by testing.
    You could also try making a new project and copy in assets to see if that allows it to compile.

    Good luck![/QUOTE]
    Again, your advice got me there, but with some confusion.

    Un and Re-installing the extensions did nothing at all, so falling back to a previous version was the only option. It worked, but what a hassle!

    The radio button is checked for "Run Lint Code Analysis" is checked; but the directory the compiler says the report doesn't exist. Is there somewhere else LINT settings need to be set? Nothing jumped out of the manual or the knowledge base, but I'm famously un-observant, so it wouldn't be surprising if it's right there in plane sight. :/
    LINT_setting.jpg

    Also, the Macintosh version, no matter how much cleaning on the GMStudio side, or deleting of the xCode directory with the build in it, would not compile until it was cleaned on the xCode console. Word to the wise if someone faces this issue.

    Thanks bundles for all your help rIKmAN. If you live in silicon valley, or visit here for GDC or some such, PING me, I owe you a few beers.
     
    rIKmAN likes this.
  16. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,525
    No problem man, you're very welcome!

    I'm in little old England, the closest I get to Silicon Valley is watching Pied Piper and Hooli do battle in the tv show! :D
     
    Mick likes this.
  17. Genetix

    Genetix Member

    Joined:
    Jun 22, 2016
    Posts:
    610
    Anyone else still having this issue?

    My Android SDK are fully up to date - but inside of GMS2 Android Options when using the drop down to choose the target API (Manually feed settings) I only have as high as API 25 listed - Needing API 26 by August for Google Play.
     
  18. FrostyCat

    FrostyCat Member

    Joined:
    Jun 26, 2016
    Posts:
    3,410
    My IDE at 2.1.4.295 has up to API 27 on that dropdown, so you could consider an update.

    Besides, you don't have to use that dropdown. You can manually enter values into the rest of Build Settings:
    • Build Tools: 26.0.0
    • Support Library: 26.0.0
    • Target SDK: 26
    • Minimum SDK: 14
    • Compile SDK: 26
    Haven't tested out whether the above works, but this is what you'd get when you select API 26 on a version of the IDE that has it.
     
  19. Genetix

    Genetix Member

    Joined:
    Jun 22, 2016
    Posts:
    610
    Thank you - come to think of it, I haven't seen an update request in awhile - I'll check my version number. That may be playing into the issue, thanks for the advice.
     
  20. Genetix

    Genetix Member

    Joined:
    Jun 22, 2016
    Posts:
    610
    No luck - I tried manually putting the settings for build 26 (As described above by FrostyCat) and got the following error:
    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':com.genetix.sophiassecret:lint'.
    > Lint found errors in the project; aborting build.

    Fix the issues identified by lint, or add the following to your build script to proceed with errors:
    ...
    android {
    lintOptions {
    abortOnError false
    }
    }
    ...

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    BUILD FAILED

    Total time: 49.449 secs

    >>>>>>>>
    I've got the most recent version of GMS2 installed IDE v2.1.4.295 and my Android SDk is fully up to date (with build 27) - but the dropdown still only shows up to Target API 25, any one else having problems? Researching as much as possible to fix this issue before August!
     
  21. HW.

    HW. Member

    Joined:
    May 21, 2017
    Posts:
    198
    about lint error, you should check what error, perhaps like the following case that happened to me,
    https://forum.yoyogames.com/index.php?posts/281457/

    about api and sdk settings, here is my working setting,
    https://forum.yoyogames.com/index.p...mber-recommended-for-2-1-4.45522/#post-289457
     
    danibus and Genetix like this.
  22. TheGameMakerGuide

    TheGameMakerGuide Member

    Joined:
    Oct 4, 2016
    Posts:
    16
    So it is possible to create an APK file linking against API 26 using GMS 1.X?

    I have the same problem, my game needs to be updated and Google is forcing me to use API 26, my project was (and it is still being) developed in GMS 1.X

    I thought that my only choice was to port my project to another game engine, but now I'm not sure.
     
  23. Nodrius

    Nodrius Member

    Joined:
    Aug 22, 2016
    Posts:
    1
    This worked to me on GM:S 1.4.9999 and get BUILD SUCCESSFUL

    Target SDK 26
    Min SDK 14
    Compile SDK 26
    Build Tools 26.0.0
    Support Lib 26.0.0

    SDK manager update
    NDK r16b
    JDK 8u102

    I also unchechks Misc options (lint and bluethoot)
     
    Last edited: Sep 29, 2018
    TheGameMakerGuide likes this.
  24. JuanpaMoreno

    JuanpaMoreno Member

    Joined:
    Oct 2, 2018
    Posts:
    3
    lint-results reports are in a slightly different location:
    C:\Users\USERNAME\Documents\GameMaker\Cache\PROJECTNAME\Android\Default\com.package.projectname\build\outputs
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice