Идентификатор ресурса, найденный для атрибута 'appComponentFactory' в пакете 'android'
Я использовал дизайн материалов Google как этот https://material.io/develop/android/docs/getting-started/. Но когда в проекте синхронизации у меня была следующая ошибка
Идентификатор ресурса не найден для атрибута 'appComponentFactory' в пакете 'android' Message {kind = ERROR, text = Идентификатор ресурса не найден для атрибута 'appComponentFactory' в пакете 'android', sources = [\?\E:\Projects\xoxo- android\app\build\intermediates\manifestests\full\debug\AndroidManifest.xml: 17], исходное сообщение =, имя инструмента = Необязательный.of(AAPT)}
Это мой файл build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "com.example.official2.xoxo"
minSdkVersion 17
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.0.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.android.support:design:26.0.1'
compile 'com.google.android.gms:play-services-appindexing:8.1.0'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
compile 'com.wang.avi:library:2.1.3'
compile 'com.mikhaellopez:circularimageview:3.0.2'
compile 'com.droidninja:filepicker:1.0.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:26.0.1'
compile 'com.github.ganfra:material-spinner:1.1.1'
compile 'com.google.android.material:material:1.0.0-alpha1'
}
Это файл manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.official2.xoxo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:name="droidninja.filepicker.FilePickerDelegate"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.official2.xoxo.activity.LoginActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.official2.xoxo.activity.RegisterActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustPan" />
<activity
android:name="com.example.official2.xoxo.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTop" />
<activity
android:name="com.example.official2.xoxo.activity.RegisterInfo"
android:screenOrientation="portrait" />
<activity android:name="com.example.official2.xoxo.activity.Registration_shop" />
<activity
android:name="com.example.official2.xoxo.activity.Product_Dashboard"
android:label="@string/title_activity_product__dashboard"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name="com.example.official2.xoxo.activity.AddService" />
<!--
ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information.
-->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity android:name="com.example.official2.xoxo.activity.SellerProfile" />
<activity android:name="com.example.official2.xoxo.activity.Services" />
<activity
android:name="com.example.official2.xoxo.activity.AddProduct"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible|adjustResize" />
<activity
android:name="com.example.official2.xoxo.activity.ProductProfileActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.example.official2.xoxo.activity.AddImagesActivity"
android:screenOrientation="portrait" />
<activity
android:name="droidninja.filepicker.FilePickerActivity"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
</activity>
<meta-data
android:name="android.support.VERSION"
android:value="26.0.1" />
</application>
</manifest>
Как исправить эту ошибку?
Ответы
Ответ 1
У меня была такая же ошибка. В моем случае это было вызвано зависимостями, указанными с +
(т.е. "com.android.support:support-v4:27+"
), что делает его зависимым от Android P при использовании уровня API 27.
Замена их на определенную версию (например, "com.android.support:support-v4:27.1.1"
) разрешила ошибку
Ответ 2
Попробуйте этот код:
cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION=27.+
Ответ 3
Причина неудачи
com.google.android.material: материал является частью androidx
, и вы не можете использовать обе библиотеки поддержки и androidx
в одном проекте. Android не будет обновлять библиотеки поддержки после версии 28.0.0.
См. Примечания к выпуску @Android поддержки 28.0.0.
Это будет последний выпуск функций под упаковкой android.support, и разработчикам рекомендуется перейти на AndroidX 1.0.0
Решение
Для меня решение было перенести мое приложение в androidx
. Я отправил ответ для понимания и переноса пакета androidx
. Официальная миграционная документация также очень хорошо написана.
Или же
Вы можете просто поместить эти строки в файл gradle.properties
.
android.useAndroidX = true
android.enableJetifier = true
Ответ 4
Я столкнулся с той же ошибкой. Это займет 2 дня :(
Перейти к файлу ==> Настройки ==> Сборка, выполнение, развертывание ==> Gradle ==> Удалить отметку автономной работы
Надеюсь, это поможет вам
Ответ 5
Небольшое исправление ответа Армисира. Я использовал эти шаги:
1. Добавьте эти строки в ваше приложение /build.gradle:
configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:26.1.0'
}
2.В файле AndroidManifest.xml добавьте одну строку в тег приложения:
tools:remove="android:appComponentFactory"
Ответ 6
У меня была эта ошибка в реактивном проекте, и добавление кода версии Google Play в gradle.properties сработало.
googlePlayServicesVersion=12.0.1
Ответ 7
Попробовал @Хадсон ответить, но не сработало. Затем обнаружил проблему, связанную с плагином FCM, поэтому я удалил плагин и добавил обратно с обновленным, а затем снова собрал.
cordova plugin remove cordova-plugin-fcm
cordova plugin add https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated
Ответ 8
Я решил эту проблему:
1. Добавьте эти коды в приложение /build.gradle:
configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:26.1.0' // old dependencies version;
}
2. Модифицированная версия sdk и инструментов до 28:
compileSdkVersion 28
buildToolsVersion '28.0.3'
targetSdkVersion 28
2.В вашем файле AndroidManifest.xml вы должны добавить две строки:
<application
android:name=".YourApplication"
android:appComponentFactory="any strings be placeholder"
tools:replace="android:appComponentFactory"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">