Open bontegames opened 4 years ago
Hi
If you use the command line and run the adt -license
command, what does the output show?
Are you also able to check that (a) your adt.lic file is in a writable location, and (b) you have internet access when running the above command?
thanks
Andrew
The output shows 'License file is present and valid'. adt.lic is in a writable location, there is internet connection
Okay interesting .. so is this splash screen displaying when you're debugging on Windows? or is it when you have the application on-device? If the latter, are you able to send us the APK file, or if you're able to unzip it and look in the assets/META-INF/AIR folder and send us the license.txt file, we can check this..
thanks
I'm testing on a real device. I have just sent that license.txt file to your support email.
Do you have any news on this? I have done some further investigation: when I build other apps on the same machine with the same 33.1.1.217 SDK in the same location, the Harman splash screen does not appear. When building again the app where I discovered the problem: the Harman splash screen is still there...
Thanks - just got the APK file .. so this is an issue because of the number used in the application ID. Something is changing the app ID so that the value you've got in the application descriptor is not the same as is used when it's installed.
If you check the logcat output while it launches, you'll see what the App ID there is..
So - we can quickly check what the rule is on this adjustment of App ID, and work this out..
Bit of further checks here and actually we were using the package name when checking the license, which is generated against the app ID from the descriptor file; the problem was that the package name is different from the app ID when you have certain characters/patterns in it...
Fix for this will come out shortly, but in the meantime if you're okay to add a letter before the numeric part of the app ID in your descriptor file, it will work.
Not sure if it helps but we used to use this to convert an appid into a package name for comparison, but I'm sure you know more:
String package = appId
.replaceAll( "(\\.)([0-9])", "$1A$2" )
.replaceAll( "-", "_" );
The first replaces any xxx.1yyy
references in the app id with xxx.A1yyyy
and the second any dashes with an underscore.
Yes, we found code very similar to that within ADT where it's creating the package.. the challenge was that we were then using the package name within the runtime whereas the license file is generated based on the application id.. and of course, we can't just reverse the above regexp stuff as there's no way of knowing if a string of "A1_2" was actually converted from "1-2" etc...
I have the same problem on Android if the app <id>my-app</id>, the package is "air.my_app" and the splash screen appear
@pol2095 yes this would be the same issue, will be fixed in our next release.. dashes and app IDs with sections that start with a number (or dash/underscore) are apparently the problem..
@ajwfrost we've recently upgraded our SDK to Harman 33.1.1.476 and ran into a similar issue, hopefully you can provide a solution..
$ pwd /opt/air-sdks/air_sdk_harman_33.1.1.476/bin $ ./adt -license License file is present and valid
our AIR application is spawned by our launcher application which modifies the application id so the end user can start multiple copies of the application, as you mentioned the license is based on the application id, so logically by modifying the application id the license check will fail == splash screen is shown. how can we allow the end user to open up multiple copies of the application without breaking the license check?
Hi @johnou
There is some logic to check the application ID with a pattern of appid-n
- i.e. if you are modifying the application ID and adding a dash/hyphen, followed by a number (any number of digits), then it should detect this as being licensed, as long as your original application ID (when packaging the app) didn't have this -n
form...
So it would work if you had in your XML file <id>com.harman.air.TestApp</id>
and were modifying this to launch com.harman.air.TestApp-1
or com.harman.air.TestApp-789
.
Hope that helps..
thanks
Thanks for getting back to me so quickly, that's perfect. Will give it a try and let you know how it goes.
@ajwfrost I can confirm the work-around you provided is working as expected, thanks again!
@ajwfrost somewhat OT but is anyone checking the adobe.support at harman.com address? I had a follow up question regarding this issue.
@johnou yes although the team has been a little under-strength recently, the Covid thing has started to affect us a little more over the past 4-6 weeks.. I think I've just found the email you mean, let me pull that over to my inbox to reply...
I'm making an Android build on a Windows pc with AIR SDK 33.1.1.217 with a valid adt.lic file in place, but the Harman splash screen is still shown. When switching back to a previous version of the SDK (33.1.1.98) the Harman splash screen is correctly not shown.