Java – Build failed with missing key properties (Android SDK)

Build failed with missing key properties (Android SDK)… here is a solution to the problem.

Build failed with missing key properties (Android SDK)

I recently imported my project from Eclipse ADT into the Android SDK. I’m trying to rerun my emulator, but I’m having trouble with my AndroidManifest.xml file, which states: /Users/####/Documents/android/medicine/src/main/AndroidManifest.xml: 13:13-30 error: in AndroidManifest.xml:13:13-30 One of the key attributes "action#name,category#name" is missing from the element intent-filter

I searched for errors on Google but didn’t find any reliable information. Is there a reason for this error, I assume it’s because of the Android version? Any help in this area would be great.

Below is my AndroidManifest.xml file:

 <?xml version="1.0" encoding="utf-8"?>
 <manifest android:hardwareAccelerated="true" android:versionCode="20101" android:versionName="2.1.1" android:windowSoftInputMode="adjustPan" package="com.medicine" xmlns: android="http://schemas.android.com/apk/res/android">
 <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android: xlargeScreens="true" />
 <uses-permission android:name="android.permission.INTERNET" />
 <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="Med Finder">
   <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:launchMode="singleTop" android:name=" Medicine" android:theme="@android:style/Theme.Black.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:label="@string/app_name" android:name="org.pgsqlite.SQLitePlugin">
        <intent-filter />
    </activity>
    <receiver android:exported="true" android:name="com.google.ads.conversiontracking.InstallReceiver">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
        <intent-filter>
<action android:name="com.medicine.MESSAGE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
    </receiver>
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id" />
    <receiver
android:name="com.pushbots.google.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
    <!-- Receives the actual messages. -->
    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    <!-- Receives the registration id. -->
    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
    <category android:name="com.medicinefinder" />
    </intent-filter>
  </receiver>
 <receiver android:name="com.pushbots.push.DefaultPushHandler" />
 <service android:name="com.pushbots.push.GCMIntentService" />
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- GCM connects to Google Services. -->
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <!-- GCM requires a Google account. -->
 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
 <uses-permission android:name="android.permission.WAKE_LOCK" />
 <permission android:name="com.medicine.permission.C2D_MESSAGE" android:protectionLevel="signature" />
 <uses-permission android:name="com.medicine.permission.C2D_MESSAGE" />
 <!-- This app has permission to register and receive dataf message. -->
 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <activity android:name="com.mopub.mobileads.MoPubActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
 <activity android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
 <activity android:name="com.mopub.common.MoPubBrowser" android:configChanges="keyboardHidden|orientation|screenSize"/>
</manifest>

Solution

Check these lines of yours:

<activity android:label="@string/app_name" android:name="org.pgsqlite.SQLitePlugin">
        <intent-filter />
 </activity>

Here you define an intent filter instead of any Action, so if you don’t want to specify any Action there, just remove it or add any Actions you want to hear

Related Problems and Solutions