【发布时间】:2018-05-10 05:25:56
【问题描述】:
我使用谷歌材料设计作为https://material.io/develop/android/docs/getting-started/ 但是当同步项目时我有以下错误
在包“android”中找不到属性“appComponentFactory”的资源标识符 Message{kind=ERROR, text=No resource identifier found for attribute 'appComponentFactory' in package 'android', sources=[\?\E:\Projects\xoxo-android\app\build\intermediates\manifests\full\debug\ AndroidManifest.xml:17],原始消息=,工具名称=Optional.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>
如何解决这个错误?
【问题讨论】:
-
错误出现在合并的清单中,因此它可能是您引用该资源的依赖项之一。把文件 E:\Projects\xoxo-android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml 的内容贴出来看看是什么问题。
-
感谢您的建议。我使用默认设计方法开发了这个应用程序。无论如何,当发生上述错误时,此清单文件的值为“appComponentFactory”。我使用记事本打开了这个清单文件并删除了这个“appComponentFactory”行并保存了它。然后我构建了我的应用程序,再次生成了这个错误。上面的行再次出现在清单文件中。所以删除那行时我还没有构建我的代码。
-
该文件由 gradle 插件自动生成,它是您的 AndroidManifest 和您的依赖项的 AndroidManifests 的合并。这就是为什么当您编辑它时,它仍然会被修改并且该行将回到那里。该行必须来自您的依赖项之一 - 发布内容,以便我们确定它是哪一个。
-
研究那个字符串,它看起来也是一个新的 ApplicationInfo 字段,以 P 开头。确保您的目标 API 是 P(您需要使用 Android P Developer Preview)。
标签: android