http://www.aviary.com
Scott
34 Answers, 1 is accepted
There doesn't seem to be official Cordova support from aviary, still you can contact them and ask if there is anything in the works for Cordova or whether their web SDK would function as expected in a hybrid app.
I see some unofficial Cordova plugins are released as well (iOS version here, Android here), which however are targeting older Cordova version and are not plugman compatible. If you decide to give them a try, please review the respective documentation:
Regards,
Steve
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
[2013-12-08 00:52:31.069] Log (Info,None): Project "Aviary Plugin.proj" (default targets):
Error: Error during processing of action! Attempting to revert...
Uh oh!
"/tmp/47701876913240148127ae8f3af5ca20/cordova/plugins/com.telerik.AviaryPhotoEditor/libs/abtest.jar" not found!
Done building project "Aviary Plugin.proj" -- FAILED.
The file is there and if I take that file source out of plugin.xml it just goes to the next file on the list and says it's not there, it seems like something else is going wrong.
Not sure if this has anything to do with the problem but in Aviary's documentation it says this regarding Android versions:
"The Aviary Android SDK supports Android 2.3+ ( API Level 9 ) as the minSdkVersion, but it must be compiled using Android 4.3 ( API Level 18 ) as the targetSdkVersion."
I would attach the project but when I try it gives me an error that the attachment exceeds 20 MB, but it doesn't it's only about 6 MB.
https://m1is-public.s3.amazonaws.com/aviary-plugin.zip
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="18" />
However I'm still getting the same build error, not sure where to go from here.
The error you've received means that the registration of the .jar file is missing from the plugin.xml file. You can see how to register an external .jar library to be used by a custom Cordova plugin from the plugin.xml file of the BarcodeScanner plugin.
If you're still having problems, please let us know in which account is the app with the aviary plugin so we can take a look. We did not find any app containing it under your current account mem*******@m**s.com.
Regards,
Steve
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
<source-file src="aviary/libs/abtest.jar" target-dir="libs" />
<source-file src="aviary/libs/android-support-v4.jar" target-dir="libs" />
<source-file src="aviary/libs/aviary-headless-library.jar" target-dir="libs" />
<source-file src="aviary/libs/aviary-library.jar" target-dir="libs" />
<source-file src="aviary/libs/aviary-tracking.jar" target-dir="libs" />
<source-file src="aviary/libs/horizontalvariablelistview.jar" target-dir="libs" />
<source-file src="aviary/libs/imageviewtouch.jar" target-dir="libs" />
<source-file src="aviary/libs/armeabi/libaviary_exif.so" target-dir="libs/armeabi" />
<source-file src="aviary/libs/armeabi/libaviary_moalite.so" target-dir="libs/armeabi" />
<source-file src="aviary/libs/armeabi/libaviary_native.so" target-dir="libs/armeabi" />
<source-file src="aviary/libs/armeabi-v7a/libaviary_exif.so" target-dir="libs/armeabi-v7a" />
<source-file src="aviary/libs/armeabi-v7a/libaviary_moalite.so" target-dir="libs/armeabi-v7a" />
<source-file src="aviary/libs/armeabi-v7a/libaviary_native.so" target-dir="libs/armeabi-v7a" />
<source-file src="aviary/libs/x86/libaviary_exif.so" target-dir="libs/x86" />
<source-file src="aviary/libs/x86/libaviary_moalite.so" target-dir="libs/x86" />
<source-file src="aviary/libs/x86/libaviary_native.so" target-dir="libs/x86" />
It's now telling me the following:
Error during processing of action! Attempting to revert...
Uh oh!
"/tmp/77099878af5a422f88298052784fb669/res/values/strings.xml" already exists!
[2013-12-14 23:10:28.126] Log (Info,None): Project "Aviary Plugin.proj" (default targets):
Error: ENOENT, no such file or directory '/tmp/55d885d1a1ec400495436ed35a434794/Plugins/src/plugin.xml'
Done building project "Aviary Plugin.proj" -- FAILED.
The error is due to the fact that your plugin structure is not correct, the src, www folders and plugin.xml should be in a folder of their own (this way you can have multiple plugins). For more information refer to the Modify the Directory Structure of the Custom Plugin.
Regards,
Steve
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
Anyway so I'm back to the same problem with it not being able to find my libraries, my error log is posted below. I have included the jars in the plugin.xml file like so:
<source-file src="src/android/aviary-sdk.jar" target-dir="libs"/>
<source-file src="src/android/aviary-tracking.jar" target-dir="libs"/>
When I build this in Eclipse my project just references the Aviary SDK so I don't even have to include these jars in the plugin.xml file. So obviously this is not the correct way to reference them so Icenium can find them so how do I tell Icenium to reference them?
[javac] Compiling 14 source files to /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/bin/classes
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:20: error: package com.aviary.android.feather.library does not exist
[javac] import com.aviary.android.feather.library.Constants;
[javac] ^
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:93: error: cannot access MonitoredActivity
[javac] Class<FeatherActivity> clsAviary = FeatherActivity.class;
[javac] ^
[javac] class file for com.aviary.android.feather.library.MonitoredActivity not found
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:98: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_OUTPUT, Uri.parse( "file://" + mOutputFilePath));
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:99: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_OUTPUT_FORMAT, outputFormat);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:100: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_OUTPUT_QUALITY, quality);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:103: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_TOOLS_LIST, toolList);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:106: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_HIDE_EXIT_UNSAVE_CONFIRMATION, hideExitUnsaveConfirmation);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:113: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_EFFECTS_ENABLE_EXTERNAL_PACKS, enableEffectsPacks);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:114: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_FRAMES_ENABLE_EXTERNAL_PACKS, enableFramesPacks);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:115: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_STICKERS_ENABLE_EXTERNAL_PACKS, enableStickersPacks);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:122: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_TOOLS_DISABLE_VIBRATION, disableVibration);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] /tmp/0b72eaa9715e4fab9ce124c08b2b73a5/src/com/m1is/aviary/Aviary.java:125: error: cannot find symbol
[javac] newIntent.putExtra(Constants.EXTRA_IN_SAVE_ON_NO_CHANGES, inSaveOnNoChanges);
[javac] ^
[javac] symbol: variable Constants
[javac] location: class Aviary
[javac] 12 errors
[javac] /tmp/07cb2dc299e246d880719a513388aa34/src/com/aviary/android/feather/widget/AviaryBottomBarViewFlipper.java:13: error: cannot find symbol
[javac] import com.aviary.android.feather.R;
[javac] ^
[javac] symbol: class R
[javac] location: package com.aviary.android.feather
OR:
[javac] /tmp/07cb2dc299e246d880719a513388aa34/src/com/aviary/android/feather/widget/AviaryBottomBarViewFlipper.java:47: error: package R does not exist
[javac] mLogo = findViewById( R.id.aviary_white_logo );
[javac] ^
The end of my log states the following:
[javac] Note: /tmp/07cb2dc299e246d880719a513388aa34/src/com/aviary/android/feather/FeatherActivity.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 100 errors
At this point I think I have everything correctly referenced and I am wondering if the package R error is something on Telerik's side?
This package seems to be a part of the Aviary.
Here is some more info.
Regards,
Zdravko
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
However the next problem I am having is that I get the Cordova error "Unfortunately app_name has stopped." and the app crashes. So I checked logcat and found the following:
12-21 09:16:52.984 E/AndroidRuntime(4074): FATAL EXCEPTION: main
12-21 09:16:52.984 E/AndroidRuntime(4074): java.lang.ExceptionInInitializerError
12-21 09:16:52.984 E/AndroidRuntime(4074): at com.aviary.android.feather.headless.filters.NativeFilterProxy.init(NativeFilterProxy.java:59)
12-21 09:16:52.984 E/AndroidRuntime(4074): at com.aviary.android.feather.FeatherActivity.onInitializeUtils(FeatherActivity.java:636)
12-21 09:16:52.984 E/AndroidRuntime(4074): at com.aviary.android.feather.FeatherActivity.onCreate(FeatherActivity.java:583)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.Activity.performCreate(Activity.java:4539)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2013)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2083)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.ActivityThread.access$600(ActivityThread.java:134)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.os.Handler.dispatchMessage(Handler.java:99)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.os.Looper.loop(Looper.java:137)
12-21 09:16:52.984 E/AndroidRuntime(4074): at android.app.ActivityThread.main(ActivityThread.java:4722)
12-21 09:16:52.984 E/AndroidRuntime(4074): at java.lang.reflect.Method.invokeNative(Native Method)
12-21 09:16:52.984 E/AndroidRuntime(4074): at java.lang.reflect.Method.invoke(Method.java:511)
12-21 09:16:52.984 E/AndroidRuntime(4074): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
12-21 09:16:52.984 E/AndroidRuntime(4074): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
12-21 09:16:52.984 E/AndroidRuntime(4074): at dalvik.system.NativeStart.main(Native Method)
12-21 09:16:52.984 E/AndroidRuntime(4074): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load aviary_moalite: findLibrary returned null
12-21 09:16:52.984 E/AndroidRuntime(4074): at java.lang.Runtime.loadLibrary(Runtime.java:365)
12-21 09:16:52.984 E/AndroidRuntime(4074): at java.lang.System.loadLibrary(System.java:535)
12-21 09:16:52.984 E/AndroidRuntime(4074): at com.aviary.android.feather.headless.moa.Moa.<clinit>(Moa.java:184)
12-21 09:16:52.984 E/AndroidRuntime(4074): ... 17 more
I'm imaging this is probably causing the problem:
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load aviary_moalite: findLibrary returned null
When I extract the app's .apk for the app from my phone I do not see the "lib" subdirectory where the library files are supposed to be like I see when I build this using Eclipse. These are the following source files in my plugin.xml that are not getting included in the .apk lib directory. The project I'm using to test this is named "AviaryIce"
<source-file src="src/android/lib/armeabi/libaviary_exif.so" target-dir="lib/armeabi" />
<source-file src="src/android/lib/armeabi/libaviary_moalite.so" target-dir="lib/armeabi" />
<source-file src="src/android/lib/armeabi/libaviary_native.so" target-dir="lib/armeabi" />
<source-file src="src/android/lib/armeabi-v7a/libaviary_exif.so" target-dir="lib/armeabi-v7a" />
<source-file src="src/android/lib/armeabi-v7a/libaviary_moalite.so" target-dir="lib/armeabi-v7a" />
<source-file src="src/android/lib/armeabi-v7a/libaviary_native.so" target-dir="lib/armeabi-v7a" />
<source-file src="src/android/lib/x86/libaviary_exif.so" target-dir="lib/x86" />
<source-file src="src/android/lib/x86/libaviary_moalite.so" target-dir="lib/x86" />
<source-file src="src/android/lib/x86/libaviary_native.so" target-dir="lib/x86" />
Please, excuse us for the delay in our reply. As it is Christmas time, we have limited resources.
Would you try declaring your custom libraries in a <lib-file> tag? You can read more about it here.
Regards,
Iva Koevska
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
[2013-12-26 00:08:29.219] Log (Info,None): Project "AviaryIce.proj" (default targets):
Error: Error during processing of action! Attempting to revert...
Uh oh!
"/tmp/c51e74fa818c426b89c119a47a8ccfc6/libs/libaviary_exif.so" already exists!
Done building project "AviaryIce.proj" -- FAILED.
The documentation doesn't mention anyway to put them into a target directory, looks like it's trying to put them into the 'libs' subdirectory.
Although not mentioned, it seems you can set target-dir for lib-file as well. (See this plugin.xml for reference.)
Regards,
Iva Koevska
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
[2013-12-26 01:07:01.294] Log (Info,None): Project "AviaryIce.proj" (default targets):
Error: Error during processing of action! Attempting to revert...
Uh oh!
"/tmp/5030199d714a4e9d87da4ff3e8b581e5/libs/libaviary_exif.so" already exists!
Done building project "AviaryIce.proj" -- FAILED.
Is the link to your project from a few replies back still accurate and up-to-date? If no, please, prep an updated version with your latest changes so we can take a look.
Regards,
Iva Koevska
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
http://m1is-public.s3.amazonaws.com/com.m1is.aviary.zip
In order to copy the library files as they are into your apk, you actually need to use the asset tag in your plugin xml. Insert this block after the js-module declaration and your package will build. (Comment out or remove the previous declarations).
<asset src="src/android/lib/armeabi/libaviary_exif.so" target="lib/armeabi/libaviary_exif.so" />
<asset src="src/android/lib/armeabi/libaviary_moalite.so" target="lib/armeabi/libaviary_moalite.so" />
<asset src="src/android/lib/armeabi/libaviary_native.so" target="lib/armeabi/libaviary_native.so" />
<asset src="src/android/lib/armeabi-v7a/libaviary_exif.so" target="lib/armeabi-v7a/libaviary_exif.so" />
<asset src="src/android/lib/armeabi-v7a/libaviary_moalite.so" target="lib/armeabi-v7a/libaviary_moalite.so" />
<asset src="src/android/lib/armeabi-v7a/libaviary_native.so" target="lib/armeabi-v7a/libaviary_native.so" />
<asset src="src/android/lib/x86/libaviary_exif.so" target="lib/x86/libaviary_exif.so" />
<asset src="src/android/lib/x86/libaviary_moalite.so" target="lib/x86/libaviary_moalite.so" />
<asset src="src/android/lib/x86/libaviary_native.so" target="lib/x86/libaviary_native.so" />
Regards,
Iva Koevska
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
<source-file src="src/android/libs/abtest.jar" target-dir="libs"/>
<source-file src="src/android/libs/android-support-v4.jar" target-dir="libs"/>
<source-file src="src/android/libs/aviary-headless-library.jar" target-dir="libs"/>
<source-file src="src/android/libs/aviary-library.jar" target-dir="libs"/>
<source-file src="src/android/libs/aviary-tracking.jar" target-dir="libs"/>
<source-file src="src/android/libs/horizontalvariablelistview.jar" target-dir="libs"/>
<source-file src="src/android/libs/imageviewtouch.jar" target-dir="libs"/>
<source-file src="src/android/libs/armeabi/libaviary_exif.so" target-dir="libs/armeabi" />
<source-file src="src/android/libs/armeabi/libaviary_moalite.so" target-dir="libs/armeabi" />
<source-file src="src/android/libs/armeabi/libaviary_native.so" target-dir="libs/armeabi" />
<source-file src="src/android/libs/armeabi-v7a/libaviary_exif.so" target-dir="libs/armeabi-v7a" />
<source-file src="src/android/libs/armeabi-v7a/libaviary_moalite.so" target-dir="libs/armeabi-v7a" />
<source-file src="src/android/libs/armeabi-v7a/libaviary_native.so" target-dir="libs/armeabi-v7a" />
<source-file src="src/android/libs/x86/libaviary_exif.so" target-dir="libs/x86" />
<source-file src="src/android/libs/x86/libaviary_moalite.so" target-dir="libs/x86" />
<source-file src="src/android/libs/x86/libaviary_native.so" target-dir="libs/x86" />
The .apk I extract from the device then has .so files for the platforms in a subdirectory named lib, not sure how or why it works but it finally does. Now to finish the iOS version.
Thanks so much for sharing your continuous progress and the solutions to every obstacle you come across. Please, do share any links to the finished plugin as these might be of great help to the community.
Happy holidays and keep up the great work!
Regards,
Iva Koevska
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
https://github.com/m1is/AviaryCordovaPlugin
You guys should really consider working with Aviary to make this one of your core plugins. It's a fantastic photo editor with far more features than Instagram and a must for social networking based apps. I'll start another thread for the iOS version but notice now when one googles Aviary Cordova this thread comes up as the top link.
https://www.google.com/#q=aviary+cordova
Thanks for sharing the link and for your feature suggestion.
Would you, please, post your suggestion on our feedback portal as well? This is the place where we gather feature requests and improvement suggestions by our users. When an item gains enough customer votes or if it seems like a great addition to Icenium, the team might decide to implement it.
Regards,
Iva Koevska
Telerik
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.
Thanks for your work on this! Will the current format work by importing into the Graphite custom plugins or do any special steps need to be taken?
Brad
Go to the Android platform find the following:
<preference name="API_KEY" /><meta-dataandroid:name="com.aviary.android.feather.v1.API_KEY"android:value="$API_KEY" />
Then replace it with:
<meta-data
android:name="com.aviary.android.feather.v1.API_KEY"
android:value="API_KEY" />
Where the API_KEY value is the key you get from Aviary. Let me know if you have any issues.
I just wanted to let you know I was able to get this running on my Android phone. It's a really nice editor and would be nice to have integrated in Icenium's list of plugins.
I'll keep an eye out for the IOS version and thanks again for all of the work you put into this.
Brad
http://feedback.telerik.com/Project/87/Feedback/Details/88977-aviary-photo-editor-as-an-integrated-plugin
I've published the iOS version on Github for using the plugin in Xcode projects, still working on getting it to work with Icenium. You can track the progress here.
http://www.icenium.com/resources/forums/icenium-general-discussion/aviary-plugin-for-ios
Scott,
I wondered if you were still actively working on the cordova aviary plugin; especially ios integration. Downloaded the most recent version from github and spent a day integrating with new keys from adobe and framework from most recent aviary ios sample without success. Any insights appreciated.
-don
I did upvote the plugin on the forum.
This is quite an old thread. Since then we have introduced the Telerik Verified Plugins Marketplace. The plugin you are asking for is not currently present there, but you can add it as a Plugin suggestion here.
Regards,
Martin Yankov
Telerik
Visit the Telerik Verified Plugins Marketplace and get the custom Cordova plugin you need, already tweaked to work seamlessly with AppBuilder.
This is actually already in the ideas portal and has a status of Approved.
http://feedback.telerik.com/Project/129/Feedback/Details/88977-aviary-photo-editor-as-an-integrated-plugin
Yes, you are correct. I contacted our developers and it seems we are also waiting to see if Adobe will produce a Cordova plugin of their own. Until then, the best alternative would be the Aviary Web SDK.
Regards,
Martin Yankov
Telerik
Visit the Telerik Verified Plugins Marketplace and get the custom Cordova plugin you need, already tweaked to work seamlessly with AppBuilder.