Hi, I'm trying to make a wrapper for Aviary (a powerful photo editor).
The SDK it's not a single .jar file, is an Android Library instead. It has activities, resources, manifest, .so libraries (one for each architecture: armeabi, armeabi-v7a, x86), etc.
When you download the SDK without importing it to Eclipse, the "bin" and "gen" folders are empty. When you import it to eclipse, this folders creates some files. In the "bin" folder there is now a "Aviary-SDK.jar" file, and under "gen" there is a "R.java" file.
If you want to use this SDK, you need to reference this whole Android project, and just use some intents to open the Aviary activity for editors, and wait for the result when you are done.
This is what I have tried so far, and failed:
- Get the Aviary-SDK.jar under "bin" (that is created once you import the project), and paste it in the B4A AddLibraries
- Copy the libs from the libs folder from Aviary project, to the B4A AddLibraries.
- Create a Java Library (the wrapper), and import the external jars needed (android 4, B4AShared, Aviary-SDK, and the jars under lib/ folder from the Aviary project)
- Merge the res/ folder from the Aviary project, with the Objects/res folder of a B4A project (and mark it as read only).
When trying to use this wrapper, I get this error:
java.lang.NoClassDefFoundError: com.aviary.android.feather.R$layout
This is the R.java file under /gen folder in the Aviary project. Which I'm not referencing at all, and don't think that should be necesary.
I think that my approach is really far away from what should be done. I'm not even referencing the .so files.
Any ideas on where to start digging?
The SDK it's not a single .jar file, is an Android Library instead. It has activities, resources, manifest, .so libraries (one for each architecture: armeabi, armeabi-v7a, x86), etc.
When you download the SDK without importing it to Eclipse, the "bin" and "gen" folders are empty. When you import it to eclipse, this folders creates some files. In the "bin" folder there is now a "Aviary-SDK.jar" file, and under "gen" there is a "R.java" file.
If you want to use this SDK, you need to reference this whole Android project, and just use some intents to open the Aviary activity for editors, and wait for the result when you are done.
This is what I have tried so far, and failed:
- Get the Aviary-SDK.jar under "bin" (that is created once you import the project), and paste it in the B4A AddLibraries
- Copy the libs from the libs folder from Aviary project, to the B4A AddLibraries.
- Create a Java Library (the wrapper), and import the external jars needed (android 4, B4AShared, Aviary-SDK, and the jars under lib/ folder from the Aviary project)
- Merge the res/ folder from the Aviary project, with the Objects/res folder of a B4A project (and mark it as read only).
When trying to use this wrapper, I get this error:
java.lang.NoClassDefFoundError: com.aviary.android.feather.R$layout
This is the R.java file under /gen folder in the Aviary project. Which I'm not referencing at all, and don't think that should be necesary.
I think that my approach is really far away from what should be done. I'm not even referencing the .so files.
Any ideas on where to start digging?