No matching ABIS?
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
No matching ABIS?
Any help appreciated! I've searched the forums, read through the lessons and can't find this.
I'm on Windows 10, with Java 8. Running LC 9.0. Installed Android Studio and set up for 4.0, etc. Livecode can find the emulator to test, the Android standalone compiles and saves. I've even installed certificate and put the APK on the Play store for an internal test.
When I run Test in LC, it goes through all the steps and then gives me this error:
[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
When my tester tries to install on his Galaxy S8 running Android 8, it says "Your device isn't compatible with this version."
I tried creating a simple application with just a button - same thing. So it's likely not my code but my setup.
On StackExchange, I found this solution:
Go to module build.gradle and within Android block add this script:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
How do I do this in LiveCode?
Thanks!
I'm on Windows 10, with Java 8. Running LC 9.0. Installed Android Studio and set up for 4.0, etc. Livecode can find the emulator to test, the Android standalone compiles and saves. I've even installed certificate and put the APK on the Play store for an internal test.
When I run Test in LC, it goes through all the steps and then gives me this error:
[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
When my tester tries to install on his Galaxy S8 running Android 8, it says "Your device isn't compatible with this version."
I tried creating a simple application with just a button - same thing. So it's likely not my code but my setup.
On StackExchange, I found this solution:
Go to module build.gradle and within Android block add this script:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
How do I do this in LiveCode?
Thanks!
-
- VIP Livecode Opensource Backer
- Posts: 7240
- Joined: Sat Apr 08, 2006 8:31 pm
- Location: Minneapolis MN
- Contact:
Re: No matching ABIS?
LC doesn't support x86 so you can't provide dual support that way. You need to build for ARM only, which I assume you did since you can create a standalone. What version of LC 9 are you using? LC 9.0.1rc2 has updated the manifest to support the latest required target version. If the target version is too low, that may be the reason the Galaxy isn't accepting the installation.
This is a new Google Play requirement. If your tester sideloads the apk instead, it might work. I'm curious to know if it does.
This is a new Google Play requirement. If your tester sideloads the apk instead, it might work. I'm curious to know if it does.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
Re: No matching ABIS?
Thanks, Jacqueline. You're right. The problem is x86 vs. ARM.
My .apk installs on Android 8. My one tester got his version wrong - he's on 7. My other tester (on has it installed ok. Yay!!
The weird thing is that Android Studio has no emulator options for ARM on Android 8 or higher. I can get the emulator working on 7, but then that doesn't work in the Play store. I guess I need a physical Android device to test it.
My .apk installs on Android 8. My one tester got his version wrong - he's on 7. My other tester (on has it installed ok. Yay!!
The weird thing is that Android Studio has no emulator options for ARM on Android 8 or higher. I can get the emulator working on 7, but then that doesn't work in the Play store. I guess I need a physical Android device to test it.
-
- VIP Livecode Opensource Backer
- Posts: 7240
- Joined: Sat Apr 08, 2006 8:31 pm
- Location: Minneapolis MN
- Contact:
Re: No matching ABIS?
You can ditch Studio and just use the command line tools, which let you install anything you want. I still haven't tried Studio yet, I've been using the Java tools since the beginning.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
Re: No matching ABIS?
Even build for ARM Google Api Android 7.1.1, then testing on an Android 8 Oreo Emulator gives the same error.
Testing not possible without a real Android 8 device?
Testing not possible without a real Android 8 device?
-
- VIP Livecode Opensource Backer
- Posts: 7240
- Joined: Sat Apr 08, 2006 8:31 pm
- Location: Minneapolis MN
- Contact:
Re: No matching ABIS?
You should be able to use the emulator, the problem is probably something in the VM settings, or something in LC's standalone settings. I haven't actually used the emulator in years because it's so slow, but maybe it's better now. Anyway, if you post a screenshot of the VM setup maybe I can spot something. No promises, but I can look.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
Re: No matching ABIS?
Yes, if you start a ARM emulator then it is really slooooow, but the x86 emulator is super fast! Starts real quick.
Re: No matching ABIS?
Just 3 images per reply it seems. (and not post so soon after my previous one)
Re: No matching ABIS?
Yah, I find that a bit limiting myself. One of the better workarounds I came up with (if you were looking for one) is to drag the images to PostImage.org. No sign up if you don't want one, and after the image uploads it provides almost any link you can think of.
Re: No matching ABIS?
very nice.
Thanks Bogs.
Thanks Bogs.
Re: No matching ABIS?
Always a pleasure to do what I can with what everyone else has got
-
- VIP Livecode Opensource Backer
- Posts: 7240
- Joined: Sat Apr 08, 2006 8:31 pm
- Location: Minneapolis MN
- Contact:
Re: No matching ABIS?
I don't see anything wrong with the settings you posted, but they don't show which type of emulator you used. The error is almost certainly because it isn't using ARM, so double-check that.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
Re: No matching ABIS?
Yes it is not using ARM because there is no ARM available for Oreo and higher, only x86. (which is about 10x faster than ARM emulator)
So how can we test on Android 8? I thought i read somewhere there was a fallback in Oreo for ARM apps?
Or LC needs starting support for x86?
So how can we test on Android 8? I thought i read somewhere there was a fallback in Oreo for ARM apps?
Or LC needs starting support for x86?
-
- VIP Livecode Opensource Backer
- Posts: 7240
- Joined: Sat Apr 08, 2006 8:31 pm
- Location: Minneapolis MN
- Contact:
Re: No matching ABIS?
I just looked at the command-line tools I use and it seems that ARM was discontinued after Android 7.1 (API 25). So you're right that you can't test on Oreo in emulation. However, you can test in Android 7 and it will run fine in later versions. None of the new features in Oreo affect our apps directly, they are mostly system-level changes. Apps built for older versions still work normally.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
Re: No matching ABIS?
ok, well i hope LC will support x86 soon, as the ARM emulators are so slow. But probably they will, because as Google only puts x86 available then there will be no ARM devices anymore as of Android 8.
Also there is a bug known with the browser widget that functions OK on Oreo, but not on Android 6 or Android 7.
That's why i wanted to test on Android 8.
Thanks!
--edit-- One more thing, i created a simple Android Studio project with only a standard swipe action, and used sdk16 ARM as the target. This i could test without problems on x86 emulator.
Also there is a bug known with the browser widget that functions OK on Oreo, but not on Android 6 or Android 7.
That's why i wanted to test on Android 8.
Thanks!
--edit-- One more thing, i created a simple Android Studio project with only a standard swipe action, and used sdk16 ARM as the target. This i could test without problems on x86 emulator.