在用as导入ApiDemos后,发现编译不过(旧版本的AS可以通过sdk manager来下载api demo,新版本不支持了,现在只能从https://developer.android.com/samples/index.html上去下载。不过旧版本的ApiDemos可以在这里下载http://blog.qiji.tech/archives/14765)
遇到问题1:Error:(23, 32) 错误: 程序包android.support.v4.print 恩,原来是没有V4包,于是在dependency里加入V4包
support-v4:22.1.1
然后又编译遇到问题2:Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 4 declared in library 意思是miniSdk版本至少是4,于是在build.gradle的defaultConfig内加一行代码
minSdkVersion 4
如下所示:
defaultConfig {
minSdkVersion 4
applicationId "com.example.android.apis"
testApplicationId "com.example.android.apis.tests"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
接着遇到问题:com.google.android mms 不存在 额,原来是缺少源码包,去下个android-src.jar,放入工程内,添加依赖,此处是File dependency而不是前面的liabrary denpendency
继续编译,还有问题"找不到符号"
/Users/fish/AndroidStudioProjects/ApiDemos/app/src/main/java/com/example/android/apis/os/MmsMessagingDemo.java Error:(341, 35) 错误: 找不到符号
符号: 方法 encodeStrings(String[])
位置: 类 EncodedStringValue
Error:(358, 12) 错误: 找不到符号
符号: 方法 setMessageSize(int)
位置: 类型为SendReq的变量 req
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: /Users/fish/AndroidStudioProjects/ApiDemos/app/libs/android-src.jar(com/google/android/mms/pdu/PduHeaders.java)使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
2 个错误
好像是有些方法找不到了,那把这几行代码注释掉,继续编译
大功告成!,可以run |