今天在项目中要实现城市三级联动的效果,本来使用SQlite已经实现,但是为了与ios端同步(想不明白为啥不是ios同步Android端);
ios端的大兄弟发过来了一个.plist文件,说本质是个XML文件,我竟然觉得他说的好有道理。
闲话少说,直接上菜。
遇到的BUG
1、这个bug出现的有点猝不及防
Android SDK location should not contain whitespace,as this can cause problems with the NDK tools;
这个错误导致在将Import Module过来的包无法引用到主项目中.
出现这个bug的主要原因是sdk的导入路径出现了空格,关键在运行之前代码的时候没有任何问题,这就尴尬了,把空格去掉就可以。
2、
Error:Execution failed for task ‘:app:processDebugManifest’.
Manifest merger failed with multiple errors, see logss
主要的是导入项目的build.gradle文件中的 compileSdkVersion和buildToolsVersion不一致或者不相符
导入的项目中(例):
compileSdkVersion 4
buildToolsVersion "19.1.0"
主项目中(例):
compileSdkVersion 25
buildToolsVersion '25.0.2'
修改与主项目一致就OK
3、
Error:Dependency MyApplication:androidplistparserapp:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File:
出现此类错误主要是build.gradle的配置出现错误,在导入的项目中build.gradle文件内----->如下图:
将划红线的 apply plugin:'com.android.application'--------->改成apply plugin: 'com.android.library';
将applicationId "com.longevitysoft.android.xml.plist"删掉;
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
minSdkVersion 17
targetSdkVersion 25
testApplicationId "com.longevitysoft.android.xml.plist.test"
testInstrumentationRunner "com.longevitysoft.android.test.plist.InstrumentationTestRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
4、
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:7:9-43
is also present at [MyApplication:androidplistparserapp:unspecified] AndroidManifest.xml:12:9-38 value=(@drawable/icon).
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:5:5-18:19 to override.
上述错误,此类信息主要是导入的项目与主项目中的清单文件(AndroidManifest.xml)相冲突,将导入导入项目的AndroidManifest.xml文件中出土部分修改。
修改前:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.longevitysoft.android.xml.plist"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name" />
<uses-sdk android:minSdkVersion="4" />
</manifest>
修改后:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.longevitysoft.android.xml.plist">
<application
android:allowBackup="true"
android:supportsRtl="true">
</application>
</manifest>