Reputation: 109
I have an issue with Ionic command : Ionic build android
Here the tutorial Salesforce i'm following to create an app connected to the Salesforce API. (contact, etc.).
Now, when i mudt build android, I have this issue :
:processDebugResources
/home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml:32: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/sf__icon').
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':processDebugResources'.
>
com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/usr/local/android-sdk-linux/build-tools/25.0.0/aapt package -f --no-crunch -I /usr/local/android-sdk-linux/platforms/android-23/android.jar -M /home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml -S /home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/res/debug -A /home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/assets/debug -m -J /home/r.**/Workspace/IonicApp/platforms/android/build/generated/source/r/debug -F /home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/res/resources-debug.ap_ --debug-mode --custom-package com.ionicframework.ionicapp508454 -0 apk --output-text-symbols /home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/symbols/debug
Error Code:
1
Output:
/home/r.**/Workspace/IonicApp/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml:32: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/sf__icon').
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.305 secs
Error: /home/r.**/Workspace/IonicApp/platforms/android/gradlew: Command failed with exit code 1
I restart the tutorial 2 times and i still have this error. Maybe because I do an Android App and not an Ios like the tutorial.
What is this file missing and where is it supposed to be?
If you need the XML:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ionicframework.ionicapp508454"
android:hardwareAccelerated="true"
android:versionCode="18"
android:versionName="0.0.1" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23" />
<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" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.ionicframework.ionicapp508454.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.ionicframework.ionicapp508454.permission.C2D_MESSAGE" />
<application
android:name="com.salesforce.androidsdk.phonegap.app.HybridApp"
android:hardwareAccelerated="true"
android:icon="@drawable/sf__icon"
android:label="@string/app_name"
android:manageSpaceActivity="com.salesforce.androidsdk.ui.ManageSpaceActivity" >
<activity
android:name="com.adobe.phonegap.push.PushHandlerActivity"
android:exported="true" />
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.ionicframework.ionicapp508454" />
</intent-filter>
</receiver>
<service
android:name="com.adobe.phonegap.push.GCMIntentService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
android:name="com.adobe.phonegap.push.PushInstanceIDListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<service
android:name="com.adobe.phonegap.push.RegistrationIntentService"
android:exported="false" />
<activity
android:name="com.salesforce.androidsdk.phonegap.ui.SalesforceDroidGapActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
android:label="@string/app_name"
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:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
Some info:
I create an Android App.
Cordova-android is version 5.0.0 because 6.0.0 do a mismatch issue with the api salesforce.
I'm a beginner with Ionic/Cordova and mobile dev. Maybe the solution is oubvious.
Upvotes: 1
Views: 809
Reputation: 1076
The error output suggests that the build just fails due to a missing icon resource: No resource found that matches the given name (at 'icon' with value '@drawable/sf__icon').
The SalesforceSDK includes those files though, however they do not seem to be added to the Android project correctly:
Copy-pasting might resolve the problem though, still wondering why the plugin does not add the drawables as expected in the res/drawable folder!
Upvotes: 1