Closed jcdoster closed 3 years ago
Appcompat (androidx.appcompat:appcompat
) is a required dependency for this library to build and can not be removed. The SQLite Android Archive file is provided by SQLite and does not have that dependency.
Manifest Merging should be handled by the utilizing library or application. The best option would be to migrate to AndroidX. The other option is to resolve it through the error message suggestion.
Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:20:5-50:19 to override.
For example, an allowBackup
value specified in the SQLite manifest is replaced in this project.
This stack overflow question might be helpful.
Thanks Brian.
I was able to get it to compile. Thank you for those suggestions!
I have another challenge now with the basic methods in geopackage-android. It's a bit complicated to explain over email. But if you would be OK with a phone conversation, much obliged.
I am working directly with a special ops homegrown application called ATAK. I have been working with it for some time now. And I would like to discuss how to get the methods in geopackage-android specially to work with ATAK (challenges specifically with the creation of the manager using the ATAK context) or go back to geopackage-java, which is what I was doing before. I can find no version of sqlitejdbc.so that is 64-bit compatible to Android though unfortunately, arm64-v8a.
When this is done, and I'm somehow successful, I'll write something up on GitHub for others working with ATAK and Geopackage manipulation.
My direct email is: jason.doster@vethresearch.com
My cell is: 937-475-2032
Thx! Jason
On Tue, Mar 9, 2021, 2:11 PM Brian Osborn notifications@github.com wrote:
Appcompat https://developer.android.com/jetpack/androidx/releases/appcompat ( androidx.appcompat:appcompat) is a required dependency for this library https://github.com/ngageoint/geopackage-android/blob/f84161ee80cd06131962a059f60004545eac1d6b/geopackage-sdk/build.gradle#L156 to build and can not be removed. The SQLite Android Archive file is provided by SQLite https://sqlite.org/download.html and does not have that dependency.
Manifest Merging should be handled by the utilizing library or application. The best option would be to migrate to AndroidX https://developer.android.com/jetpack/androidx/migrate. The other option is to resolve it through the error message suggestion. Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:20:5-50:19 to override. For example, an allowBackup value specified in the SQLite manifest is replaced in this project https://github.com/ngageoint/geopackage-android/blob/f84161ee80cd06131962a059f60004545eac1d6b/geopackage-sdk/src/main/AndroidManifest.xml#L8 .
This stack overflow question https://stackoverflow.com/questions/52135251/manifest-merger-fails-for-appcomponentfactory might be helpful.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ngageoint/geopackage-android/issues/65#issuecomment-794393435, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKQB36Y7ISULTTCABFY2CLTTCZXGTANCNFSM4Y4CLAKQ .
Please fill out as much known and relevant information as possible.
Version Information:
Expected Results:
Add geopackage-android dependency to gradle, have it compile correctly for an ATAK plugin app. implementation 'mil.nga.geopackage:geopackage-android:4.0.0'
Observed Results:
What happened instead? During build, manifest conflict between libraries within repository and ATAK plugin app. Specifically geopackage-android-4.0.0.aar & sqlite-android-3320300.aar have manifest application callouts that need to be deleted to de-conflict with app the repository is intended to support.
How often does this occur? Every compilation attempt.
Output:
Task :processDebugManifest FAILED /home/jason/AndroidStudioProjects/vracamera/AndroidManifest.xml:22:18-91 Error: Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.1.0] AndroidManifest.xml:24:18-86 value=(androidx.core.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:20:5-50:19 to override.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
Execution failed for task ':processDebugManifest'.
Steps to Reproduce:
Relevant Code:
Test Files:
Additional Information: