Already implemented Aviary SDK for image editing is now causing 'AdobeImageCdsReceiver' not found Error

347 views Asked by At

Aviary Sdk implemented for image editing was working fine with no errors but after some days it is showing error that AdobeImageCdsReceiver not found in manifest.

Though I know it is not there, but I also know that it was not needed there before.

I am putting here the dependency I am using as well as my manifest file

compile 'com.adobe.creativesdk.foundation:auth:0.9.7'
    compile 'com.adobe.creativesdk:image:4.4.8'

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.administrator.myapplication">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />


    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        tools:node="replace"
        android:hardwareAccelerated="false"
        android:largeHeap="true"
        android:label="@string/app_name"
        android:name="com.example.administrator.myapplication.utils.FeaturedApp"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <provider
            android:name="com.adobe.creativesdk.aviary.internal.cds.CdsProvider"
            android:authorities="${applicationId}.CdsProvider"
            android:exported="false" />

        <!--
            Cds Content Provider,
            NOTE that the "authorities" value MUST be formatted in this way:
            android:authorities="{your.packagename}.AviaryCdsProvider"
         -->
        <activity
            android:name="com.example.administrator.myapplication.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" ></activity>
        <activity
            android:name="com.example.administrator.myapplication.ManageActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.EventVenueMapActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.MapsAirBnbAct"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.zfdang.multiple_images_selector.ImagesSelectorActivity"
            android:configChanges="orientation|screenSize"/>
        <activity
            android:name="com.example.administrator.myapplication.LoginActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.RTLSwipeActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.PostWaveActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.ProfileActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.WaveLineActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.CommentActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.PeerActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.Splash_Activity"
            android:label="@string/app_name"
            android:theme="@style/WelcomeScreenTheme"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.administrator.myapplication.PPMActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="com.example.administrator.myapplication.DeactivateActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="com.example.administrator.myapplication.MostRatedActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name="com.example.administrator.myapplication.MyWelcomeActivity"
            android:theme="@style/WelcomeScreenTheme"/>
        <meta-data
            android:name="com.aviary.android.feather.v1.API_KEY"
            android:value="4c76cbb2239647eea6bdf91c7729e2ba" />

        <meta-data
            android:name="com.mapbox.ACCESS_TOKEN"
            android:value="pk.eyJ1IjoibWFoaW5kcmFiaHVtYW4iLCJhIjoiY2oxZDI1ZjI3MDBjdzJ4bXZnaHN2MnJhNiJ9.Y6vWmxCrIlNeCwNI6g1XCA"/>
        <meta-data
            android:name="com.mapbox.MAP_ID"
            android:value="mapbox.streets" />
        <meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyDTqMCYOdSOAitEbR8t9SnUVs3yUBWxcHM"/>
        <!-- Main Editor Activity -->
        <activity
            android:name="com.aviary.android.feather.sdk.FeatherActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="unspecified"
            android:hardwareAccelerated="true"
            android:largeHeap="true"
            android:process=":aviarysdk"
            android:theme="@style/AviaryTheme" />

        <!-- Alert -->
        <!--<receiver
            android:name="com.aviary.android.feather.cds.AviaryCdsReceiver"
            android:process=":aviarycds" >
            <intent-filter>
                <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
            </intent-filter>
        </receiver>-->
        <activity
            android:name="com.aviary.android.feather.sdk.AlertActivity"
            android:launchMode="standard"
            android:noHistory="true"
            android:theme="@style/AviaryTheme.Dialog">
            <intent-filter>
                <action android:name="aviary.intent.action.ALERT"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- CDS Content Service -->
        <service
            android:process=":aviarycds"
            android:name="com.aviary.android.feather.cds.AviaryCdsService"
            android:exported="false">
            <intent-filter>
                <action android:name="aviary.intent.action.CDS_DOWNLOAD_START"/>
                <action android:name="aviary.intent.action.CDS_RESTORE_USER_ITEMS"/>
            </intent-filter>
        </service>

        <!--
            Cds Content Provider,
            NOTE that the "authorities" value MUST be formatted in this way:
            android:authorities="{your.packagename}.AviaryCdsProvider"
         -->
        <provider
            android:name="com.aviary.android.feather.cds.AviaryCdsProvider"
            android:authorities="com.dnuon.aviarydemo.AviaryCdsProvider"
            android:process=":aviarycds"
            android:exported="false"
            android:syncable="true" />

        <!-- CDS Download Receiver -->
        <receiver
            android:name="com.aviary.android.feather.cds.AviaryCdsReceiver"
            android:process=":aviarycds" >
        <intent-filter>
            <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
        </intent-filter>
        </receiver>
    </application>
</manifest>

Any help will be appreciated. Though I know that this help can only come through the guys who have worked with Aviary SDK otherwise whatever details I will write here goes meaningless.

1

There are 1 answers

0
Apurv Mahesh On

I have found the solution in the mean time so i am writing to make sure that this may help anyone who has stuck with same problem or any problem with implementing aviary sdk.

The application tag is containing tools:node= "replace"... removing this will solve the error as due to this the nodes are not being recognized from dependencies at run time.

The above question is an example solution for those who want to implement Aviary SDK for image editing.

Adding to that you have to initialize Aviary in your application class as i am showing you my application class

public class FeaturedApp extends Application implements IAviaryClientCredentials
{
    private static final String CREATIVE_SDK_CLIENT_ID      = "xxxxxxxxxxxxxxxxxxx";
    private static final String CREATIVE_SDK_CLIENT_SECRET  = "xxxxxxxxxxxxxxxxxxxx";
    private static final String CREATIVE_SDK_REDIRECT_URI   = "xxxxxxxxxxxxxxxxxxxxxxxxx";
    private static final String[] CREATIVE_SDK_SCOPES       = {"xxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxxx", "New Delhi"};

    @Override
    public void onCreate() {
        super.onCreate();
        AdobeCSDKFoundation.initializeCSDKFoundation(getApplicationContext());

    }



    @Override
    public String getBillingKey() {
        return "";
    }

    @Override
    public String getClientID() {
        return CREATIVE_SDK_CLIENT_ID;
    }

    @Override
    public String getClientSecret() {
        return CREATIVE_SDK_CLIENT_SECRET;
    }


}