我接受了我的一个旧的android项目,该项目是几年前在Eclipse Luna上开发的,并试图恢复它。
我已将其导入到android studio中,并被告知可以将其转换为自己的格式,并且我可以继续进行开发。
在抛出所有初始链接和版本兼容性错误之后,我陷入了以下错误,无法通过它:
c:\....\MyProjectFolder\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:643: error: resource android:attr/preserveIconSpacing is private.
解决这个问题还是合法错误?
这是我的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.eibimalul.smartgallery"
minSdkVersion 16
targetSdkVersion 22
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:gridlayout-v7:19.1.0'
compile 'com.android.support:appcompat-v7:19.1.0'
compile files('libs/robobinding-0.8.3-jar-with-dependencies.jar')
compile files('libs/simple-xml-2.7.1.jar')
compile files('libs/universal-image-loader-1.9.2.jar')
}
只需清除解决方案: 借助 Mohsen 下面的答案,该错误的解决方案是:
我现在有第三个错误,但似乎与第一个错误无关,所以我认为主要问题已解决。
答案 0 :(得分:2)
values.xml:643:错误:资源
android:attr/preserveIconSpacing
是 私人的。
您正在使用 私有资源 ,因此才出现此问题。
注释该行或将其删除将有助于继续进行操作。
更新:这是更改后的build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.eibimalul.smartgallery"
minSdkVersion 16
targetSdkVersion 28
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
implementation 'com.android.support:gridlayout-v7:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation files('libs/robobinding-0.8.3-jar-with-dependencies.jar')
implementation files('libs/simple-xml-2.7.1.jar')
implementation files('libs/universal-image-loader-1.9.2.jar')
}
我只是更改了appcompat
和compileSdkVersion
等的版本以进行更新。另外,如果这样做没有帮助,因为这些库已经足够老了(例如 Date(2013年7月8日) ),也许您应该将它们替换为最新的依赖项。
例如,添加:
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
代替compile files('libs/universal-image-loader-1.9.2.jar')
,因为它可以从在线存储库下载库,而无需手动添加。
也使用implementation
代替compile
。
如果错误仍然出现,请检查此链接并以以下方式添加simple-xml:https://stackoverflow.com/a/19455878/4409113