Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing lower API versions #20

Closed
johanehnberg opened this issue Sep 13, 2017 · 7 comments
Closed

Testing lower API versions #20

johanehnberg opened this issue Sep 13, 2017 · 7 comments

Comments

@johanehnberg
Copy link
Contributor

Since using old phones as baby monitors is a great prospect, this could be explored further.

Current API is 17 which is now 5 years old and often still in use as phones.

Common phone API levels below that for phones' last firmware are 16, 15, 10 and 8.

I'd be happy to help test this app on those APIs and Android versions if someone makes the APKs.

@brarcher
Copy link
Owner

The oldest physical device that I have is for SDK 17, so that is the reason I drew the line at that point. If you are able to test older devices, attached is a version compiled against SDK 25 for the min SDK version of 8. If your test is successful, I can decrease the min SDK to 8 or any other level, just let me know.

baby-monitor-debug.apk.zip

@johanehnberg
Copy link
Contributor Author

Tested on 10: crashes instantly with "Failed to inflate" and "E/ActivityThread( 2927): android.view.InflateException: Binary XML file line #28: Error inflating class Space"

@johanehnberg
Copy link
Contributor Author

Tested on 16: works flawlessly
(CM10, Android 4.1.2)

@brarcher
Copy link
Owner

I looked it up, and the Space element in layouts was introduced in 14. So, 14 may be the lowest it will go unless the layout is updated to remove the Space elements.

@johanehnberg
Copy link
Contributor Author

johanehnberg commented Sep 13, 2017

Tested on 15: installs, starts, and manually selecting child address and port works.

Crashes on "Child device" and "Discover Child..." with:

I/dalvikvm( 2419): Failed resolving Lprotect/babymonitor/DiscoverActivity$5; interface 9 'Landroid/net/nsd/NsdManager$DiscoveryListener;'
W/dalvikvm( 2419): Link of class 'Lprotect/babymonitor/DiscoverActivity$5;' failed
D/AndroidRuntime( 2419): Shutting down VM
W/dalvikvm( 2419): threadid=1: thread exiting with uncaught exception (group=0x40a8a368)
E/AndroidRuntime( 2419): FATAL EXCEPTION: main
E/AndroidRuntime( 2419): java.lang.NoClassDefFoundError: protect/babymonitor/DiscoverActivity$5
...
E/AndroidRuntime( 2419): Caused by: java.lang.ClassNotFoundException: protect.babymonitor.DiscoverActivity$5
E/AndroidRuntime( 2419): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)

I do not have an API 14 device to test with, so on my part this concludes the test. This ROM I tested on is not too impressive, so 14 and 15 may work still if the problem is in the ROM.

API 16 is at least a safe choice.

@brarcher
Copy link
Owner

Ah, the NsdManager is available in SDK 16 and after. Seems like SDK 16 is as low as it will go without changing how network discovery works.

@brarcher
Copy link
Owner

The min SDK version has been reduced to 16. Thanks for running the experiments!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants