在尝试构建项目时遇到Ionic问题。在:processDebugResources
我收到如下错误:
Failed to generate resource table for split ''
/Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/res/debug/values-v23/values.xml:6: error: Error: No resource found that matches the given name (at 'cardBackgroundColor' with value '?android:attr/colorBackgroundFloating').
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:
/Users/johnhoulder/Library/Android/sdk/build-tools/23.0.3/aapt package -f --no-crunch -I /Users/johnhoulder/Library/Android/sdk/platforms/android-22/android.jar -M /Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml -S /Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/res/debug -A /Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/assets/debug -m -J /Applications/MAMP/htdocs/APP/consumer/platforms/android/build/generated/source/r/debug -F /Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/res/resources-debug.ap_ --debug-mode --custom-package com.munch_delivery.app -0 apk --output-text-symbols /Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/symbols/debug
Error Code:
1
Output:
Failed to generate resource table for split ''
/Applications/MAMP/htdocs/APP/consumer/platforms/android/build/intermediates/res/debug/values-v23/values.xml:6: error: Error: No resource found that matches the given name (at 'cardBackgroundColor' with value '?android:attr/colorBackgroundFloating').
* 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.959 secs
/Applications/MAMP/htdocs/APP/consumer/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: /Applications/MAMP/htdocs/APP/consumer/platforms/android/gradlew with args: cdvBuildDebug,-b,/Applications/MAMP/htdocs/APP/consumer/platforms/android/build.gradle,-PcdvBuildArch=arm,-Dorg.gradle.daemon=true
插件:
的AndroidManifest.xml:
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.munch_delivery.app" 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" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/fb_app_id" />
<meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/fb_app_name" />
<activity android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/fb_app_name" android:name="com.facebook.FacebookActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<amazon:enable-feature android:name="com.amazon.device.messaging" android:required="false" xmlns:amazon="http://schemas.amazon.com/apk/res/android" />
<service android:exported="false" android:name="com.onesignal.ADMMessageHandler" />
<receiver android:name="com.onesignal.ADMMessageHandler$Receiver" android:permission="com.amazon.device.messaging.permission.SEND">
<intent-filter>
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<category android:name="com.munch_delivery.app" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
</manifest>
编辑:
通过将所有com.facebook.android:facebook-android-sdk:4.+
更改为com.facebook.android:facebook-android-sdk:4.8.0
来管理以查找临时解决方案。对此有任何永久的解决方案,或者这是正确的方法吗?
答案 0 :(得分:6)
对于那些因为同样的原因寻找破损的phonegap构建应用程序解决方案的可怜人,这里是如何在config.xml中的插件声明中使用特定的github提交:
<plugin spec="https://github.com/jeduan/cordova-plugin-facebook4#aff9a08a86cc6c6a18019f7adc2896ddf97c11cd" source="git" >
<param name="APP_ID" value="YOUR_APP_ID"/>
<param name="APP_NAME" value="YOUR_APP_NAME"/>
</plugin>
答案 1 :(得分:3)
所以这显然是在插件中修复但尚未发布
https://github.com/jeduan/cordova-plugin-facebook4/commit/aff9a08a86cc6c6a18019f7adc2896ddf97c11cd
在我package.json
我改变了
{
"variables": {
"APP_ID": "REPLACE_FACEBOOK_APPID",
"APP_NAME": "REPLACE_FACEBOOK_APPNAME"
},
"locator": "cordova-plugin-facebook4@1.6.3",
"id": "cordova-plugin-facebook4"
},
到
{
"variables": {
"APP_ID": "REPLACE_FACEBOOK_APPID",
"APP_NAME": "REPLACE_FACEBOOK_APPNAME"
},
"locator": "https://github.com/jeduan/cordova-plugin-facebook4#aff9a08a86cc6c6a18019f7adc2896ddf97c11cd",
"id": "cordova-plugin-facebook4"
},
然后你必须删除旧插件并安装新插件。我是用bash做的
cd myproject
rimraf platforms/
rimraf plugins/
ionic state restore
或
cd myproject
cordova plugin rm cordova-plugin-facebook4
ionic state restore
答案 2 :(得分:3)
添加字符串资源(我使用linux ubuntu这是我的离子项目路径)文件:/home/user/js/fb4/platforms/android/app/src/main/res/values/strings.xml
<string name="fb_app_id">59523234234</string>
<string name="fb_app_name">hajmo.ba</string>
我的项目现在有效!
答案 3 :(得分:1)
如果您在本地仓库中有插件,则可以替换“plugin.xml”文件中的以下行:
<framework src="com.facebook.android:facebook-android-sdk:4.+"/>
通过
<framework src="com.facebook.android:facebook-android-sdk:4.8.+"/>
然后从您的项目中删除facebook-4插件,然后再从当地仓库添加它,现在包含更正。
或者您可以遵循@ jakub.g
的建议答案 4 :(得分:1)
我没有足够的声誉将其添加为评论,因此我将其作为答案发布。我无法使用@suprandr和@jakub.g指定的方法解决这个问题,对我有用的是取代每一次“ com.facebook.android:facebook-android-sdk:4。+ 在我的Cordova项目中“与” com.facebook.android:facebook-android-sdk:4.8.0 “。
注意:这只是一个临时修复