Android Studio 开发问题记录
来源:互联网 发布:c语言volatile 寄存器 编辑:程序博客网 时间:2024/04/29 19:43
最近在学习使用Android Studio,初学一个工具当然会发现好多问题,特此来记录下所遇到的一些坑:
此篇不定时更新。
1、Error:Execution failed for task ‘:app:processDebugManifest’.> Manifest merger failed with multiple errors, see logs:
此问题出现的情况是:主项目引入另一个项目作为主项目的library。网上有方法是:
在Manifest.xml的application标签下添加tools:replace=”android:icon, android:theme”(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools=”http://schemas.android.com/tools”。
反正上述方法我是没成功,我这里的解决方式是,通过看log发现是Manifest里面的 <application>
标签里面的android:allowBackup=”true”的原因,我在library里面设置的是“true”,但是我的主工程里面设置的“false”, 在我把主工程里面也改成“true”之后重新clean 编译就好。
2、Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’.
Process command ‘F:\Program Files (x86)\Java\jdk1.8.0_65\bin\java.exe’ finished with non-zero exit value 1 (或 value 2)。
相信这个问题只要是从eclipse转AS过来的同学都会遇到,这个问题出现的原因也是当一个项目依赖一个library的情况下。这里如果library 和主项目都引用了同一个包就会报这个错(在eclipse上面可没遇到这个情况。。。)。 最普遍的情况就是v4包:
library:
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:support-v4:23.1.1'}
主项目:
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile project(':BaseApplicationLibrary') compile files('libs/android-support-v4.jar')}
这里“BaseApplicationLibrary”就是上面的library项目,由于都引用了v4包,这里删除一个重新clean编译下就好了。不过也有情况下clean之后还是报错,在确认没有其他问题的情况下可以试着重启下AS,然后再编译。我之前就是这样才好的。。。
3、org.apache.http.*类丢失
当我们API 更新到23之后,org.apache.http.*一些类找不到的情况,原因是在API 23后,不提供org.apache.http.*(只保留几个)类了。
在android 2.3 (api 9)之后 推荐使用HttpURLConnection类,因为它效率更高。这对于我们之前用HttpClient 无疑很蛋疼。不过没关系推荐归推荐,要用也还是可以的 :
Eclipse 解决办法
在libs中引入org.apache.http.legacy.jar 包
此jar包在你的sdk目录里面的\platforms\android-23\optional 下(需要下载android 6.0的SDK)
Android Studio解决办法:
在build.gradle里面加上 :useLibrary ‘org.apache.http.legacy’ 如:
android { compileSdkVersion 23 buildToolsVersion "23.0.2" useLibrary 'org.apache.http.legacy' defaultConfig { minSdkVersion 8 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}
!!!这里有一点必须注意了compileSdkVersion 23
必须是23及以上 targetSdkVersion 23
也是,不然会找不到这个包。
4.The APK file D:\XXX.apk does not exist on disk.Error while Installing APK
今天在AS编译安装APK的时候报如上错误:
在尝试了Clean Project、Rebuild、重启AS后发现还是不行,最后在stackoverflow发现个方法:
点击AS窗体右边侧的Gradle按钮,然后刷新一下就好了。
5. Error:(140, 62) 错误: -source 1.6 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)
这个问题不管在eclipse还是As上都会遇到,原因是在JDK 1.7里新增了一个新特性:增强对通用实例创建(diamond)的类型推断 。什么意思呢?我们会发现报错的地方都是如下写法:
List<DataSource> datasources=new ArrayList<>();
正常写成这样就没错了:
List<DataSource> datasources=new ArrayList<DataSource>();
也就是说JDK1.7支持这种类型推断后,在声明datasources 时new ArrayList<>里可以不需要加DataSource。
好了,既然知道了哪块的原因我们只要设置下jdk的版本就好了,如下图:
设置好Source Compatibility 和 Target Compatibility 的版本就好了。
- Android Studio 开发问题记录
- Android Studio开发工具相关问题记录
- android studio 问题记录
- Android Studio 问题记录
- android studio 问题记录
- [Android开发] Android Studio问题以及解决记录
- [Android开发] Android Studio问题以及解决记录
- android studio 单元测试问题记录
- android studio 2.3 问题记录
- Android studio 问题处理记录
- android开发问题记录
- Android开发问题记录
- Android开发问题记录
- Android Studio环境进行APk开发问题记录及解决方法记录(一)
- 记录一下Android Studio下NDK开发
- Android Studio NDK JNI开发入门记录
- eclipse迁移到Android Studio 问题记录
- 【转】Android Studio问题以及解决记录
- HDOJ 1431 回文素数
- android获取屏幕像素密度DPI,与density
- android Init.rc解析以及init初始化
- 如何设计一个自动布局库:以SDAutoLayout为例
- LeetCode 28 . Implement strStr()
- Android Studio 开发问题记录
- 回车键绑定
- JS----简单表单密码强度检验
- Linux env --显示当前用户的环境变量
- 【.Net码农】依赖注入那些事儿
- Android animation
- 新的项目-使用手机蜂窝定位,上架被苹果11.12 拒绝
- android studio 插件 gradle view 查看gradle依赖树
- JFinal学习--08事务