Visitar URL original
Missing Android N compatibility because of behavior changes · Issue #216 · sqlcipher/android-database-sqlcipher · GitHub
Skip to content

Missing Android N compatibility because of behavior changes #216

Closed

Description

@TheNephilim88

Hello,

Google changed some things regarding linking/loading libs: https://developer.android.com/preview/behavior-changes.html#ndk

This also affects SQLCipher. E.g. the Test-Suite failed 10 out of 32 tests.
screenshot_20160310-091222

Log show up following:

03-10 09:09:17.497 26856-26869/net.zetetic:provider W/linker: library "libutils.so" ("/system/lib/libutils.so") needed or dlopened by "/data/app/net.zetetic-1/lib/arm/libsqlcipher_android.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120
03-10 09:09:17.497 26856-26869/net.zetetic:provider W/linker: library "libcutils.so" ("/system/lib/libcutils.so") needed or dlopened by "/data/app/net.zetetic-1/lib/arm/libsqlcipher_android.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120
03-10 09:09:17.517 26856-26869/net.zetetic:provider W/linker: library "libnativehelper.so" ("/system/lib/libnativehelper.so") needed or dlopened by "/data/app/net.zetetic-1/lib/arm/libdatabase_sqlcipher.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120
03-10 09:09:17.518 26856-26869/net.zetetic:provider W/linker: library "libandroid_runtime.so" ("/system/lib/libandroid_runtime.so") needed or dlopened by "/data/app/net.zetetic-1/lib/arm/libdatabase_sqlcipher.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120
03-10 09:09:17.518 26856-26869/net.zetetic:provider W/linker: library "libbinder.so" ("/system/lib/libbinder.so") needed or dlopened by "/data/app/net.zetetic-1/lib/arm/libdatabase_sqlcipher.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120

Activity

  1. developernotes commented on Mar 10, 2016

    @developernotes
    Member

    Hello @TheNephilim88

    Thank you for your early report of SQLCipher for Android on Android N. We hope to begin looking into the Android N build soon. Take care!

  2. splendidbits commented on Mar 17, 2016

    @splendidbits

    As per https://developer.android.com/preview/behavior-changes.html#ndk

    Use of SSL_ctrl symbol from libcrypto.so should be replaced with an app local version. For example, you should statically link libcyrpto.a in your .so file or include your own dynamically libcrypto.so from BoringSSL or OpenSSL in your app.

    So instead of OpenSSL being compiled for each arch and being statically linked in the .so, I believe now that the bordingSSL library so (or a?) should be linked directly through the ndk from the user's OS. OpenSSL has been deprecated and removed in favour of boringssl

  3. developernotes commented on Mar 17, 2016

    @developernotes
    Member

    Hi @staticfish

    We have historically built a static OpenSSL because of the differing versions of OpenSSL bundled across the various Android OS's. We will consider this change in the future.

  4. TheNephilim88 commented on Mar 19, 2016

    @TheNephilim88
    Author

    Did anyone found time to look into this?
    I know Android N is still dev preview, but its annoying nonetheless, especially if users dont understand and are giving bad ratings because of it :(

  5. sjlombardo commented on Mar 19, 2016

    @sjlombardo
    Member
  6. neutron666 commented on Mar 20, 2016

    @neutron666

    But that's what dev previews are for, make issues appear early and fix them. I really would like to continune testing the N dev preview, but i need a app based on this lib urgently and it's very annoying to being able to use it. PLEASE start on fixing this problem as soon as possible.

  7. mikecousins commented on Mar 28, 2016

    @mikecousins

    Hopefully this gets prioritized soon. The ease for user's to install the latest dev preview has resulted in quite a few people not being able to run anything using your library.

  8. smarkovik commented on Apr 6, 2016

    @smarkovik

    Hello guys,
    any ideas when this will get in your pipeline?
    N preview has been out for a while and the apps which depend on sql cipher are essentially blocked.

  9. sjlombardo commented on Apr 6, 2016

    @sjlombardo
    Member

    @smarkovik we just finished up a release of SQLCipher yesterday. Now that is out of the way, we'll be switching over to look at this issue as a priority.

  10. smarkovik commented on Apr 14, 2016

    @smarkovik

    Hello @sjlombardo,
    Not being pushy but just curious of your progress? any ETAs?
    could the community help ?

  11. developernotes commented on Apr 14, 2016

    @developernotes
    Member

    Hi @smarkovik

    We are actively working on this project and will make our changes available as soon as everything is working. Thanks!

  12. mvojjala commented on Apr 27, 2016

    @mvojjala

    Hi @sjlombardo

    We are also in same situation. Not able use our app on Android N because of this issue. Just want to check with you if you have any update or tentative dates of a possible update.

    Thanks

  13. sjlombardo commented on Apr 27, 2016

    @sjlombardo
    Member

    @mvojjala we're making appreciable progress on this issue, but it does involve some fairly major changes. Keep an eye on this ticket, and/or at https://discuss.zetetic.net/c/sqlcipher for information about upcoming availability for testing.

  14. fuentespatrick commented on Apr 27, 2016

    @fuentespatrick

    I appreciate the effort and the update @sjlombardo.
    My team is similarly blocked, so the significant work is greatly appreciated!

  15. developernotes commented on Apr 28, 2016

    @developernotes
    Member

    Hi folks,

    We have just announced a beta of SQLCipher for Android with support for Android Developer N Preview here. Please take a look if you are interested in helping test out these changes. Thanks!

  16. 48 remaining items

  17. jaredpetker commented on Jun 20, 2016

    @jaredpetker

    Yea, I saw that initially and decided to live on the wild side which sadly bit me back, I assume you all have some pipeline internally for worrying about building with newer toolchains, until then yea, seems like all is well thanks!

  18. ashishmody commented on Jun 21, 2016

    @ashishmody

    Hey @developernotes, do we know when will the update with this fix be released? Do we have a timeline in place? Looks like Google froze the APIs for N and is encouraging developers to get their apps ready for N soon. Any timeline would really help us plan! Thanks!

  19. smarkovik commented on Jun 21, 2016

    @smarkovik

    I second that!

    On Tue, Jun 21, 2016, 08:10 ashishmody notifications@github.com wrote:

    Hey @developernotes https://github.com/developernotes, do we know when
    will the update with this fix be released? Do we have a timeline in place?
    Looks like Google froze the APIs for N and is encouraging developers to get
    their apps ready for N soon. Any timeline would really help us plan! Thanks!

    —
    You are receiving this because you were mentioned.
    Reply to this email directly, view it on GitHub
    #216 (comment),
    or mute the thread
    https://github.com/notifications/unsubscribe/AA8OPaFtx3G2bo27ZlI2z4Dkipaasx3lks5qN4A7gaJpZM4Htgon
    .

    Tancho

  20. developernotes commented on Jun 21, 2016

    @developernotes
    Member

    Hi @ashishmody, @smarkovik

    We are planning a release soon, now that the N API has been finalized, and we've tested the library against the latest Developer Preview 4 (i.e., NPD56N). We appreciate your patience and enthusiasm!

  21. developernotes commented on Jun 23, 2016

    @developernotes
    Member

    Hi folks,

    This is just an update, we have just release SQLCipher for Android 3.5.0 with support for Android N. More information can be found here. Thanks!

  22. dfyx commented on Jun 24, 2016

    @dfyx

    Will there be official binaries? The link in https://www.zetetic.net/sqlcipher/sqlcipher-for-android/ doesn't work for anything newer than 3.1.0 and when I build my own binaries, they are much larger (5 MB for armeabi and armeabi-v7a and 7 MB for x86) than the 1.6 MB mentioned in the blog post.

  23. dfyx commented on Jun 24, 2016

    @dfyx

    Nevermind, found the aar at http://central.maven.org/maven2/net/zetetic/android-database-sqlcipher/3.5.0/android-database-sqlcipher-3.5.0.aar which is just a renamed zip file.

    (I just need the .so files for a .NET project)

  24. developernotes commented on Jun 24, 2016

    @developernotes
    Member

    Hi @dfyx

    The native libraries included in the AAR package are compiled for the Android OS specifically and will not run on another environment.

  25. dfyx commented on Jun 24, 2016

    @dfyx

    @developernotes I know. I was talking about a Xamarin Android project.

  26. CoconutByte commented on Jul 1, 2016

    @CoconutByte

    @developernotes
    when the column is defined by TEXT, It seems that the cursor.getInt() method can't return the right value of the column. Using the newest Version of sqlcipher released for Android N.

  27. developernotes commented on Jul 1, 2016

    @developernotes
    Member

    Hi @liuzhihuinb

    I was not able to reproduce the problem you describe with the SQLCipher for Android test suite. Are you doing something different?

  28. CoconutByte commented on Jul 4, 2016

    @CoconutByte

    @developernotes
    Thank you for you reply.
    I found the problem in my app when I updated the sqlCihper to the version of 3.5.1.
    As my app worked perfectly with the sqlCihper before,I'm confused.
    I have wrote a demo for using cursor.getInt() ,I think you can reproduce it with the code below.
    https://github.com/liuzhihuinb/SqlCipherDemo.git

  29. developernotes commented on Jul 5, 2016

    @developernotes
    Member

    Hi @liuzhihuinb

    It appears your application may have a problem with the min function instead? Are you able to reproduce the issue with the SQLCipher for Android test suite? We have a test that uses TEXT as the storage type, but requests an integer back from the cursor correctly..

  30. CoconutByte commented on Jul 6, 2016

    @CoconutByte

    Hi @developernotes
    Yes, I had reproduced this problem in the SQLCipher for android test suite.
    As this issue had been closed. I submitted a new issue below since other people may encounter the same issue.

    #244

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions