█ 【安卓学习之开发工具】 Android Studio学习 2 - 遇到的问题
█ 相关文章:
-
● 【安卓学习之开发工具】 Android Studio学习 1 - 入门篇
● 【安卓学习之开发工具】 Android Studio学习 2 - 遇到的问题
● 【安卓学习之开发工具】 Android Studio学习 3 - 一个demo的编译问题
● 【安卓学习之开发工具】 Android Studio学习 4 - 学习笔记(视频学习)
● 【安卓学习之开发工具】 Android Studio学习 5 - 研究android studio和eclipse之间的互换
● 【安卓学习之开发工具】 Android Studio学习 6 - Android Studio 2.0/3.0 安装包说明(版本说明)
● 【安卓学习之开发工具】如何导入已别人写好的demo(含ADT和AS)之ADT
█ 读前说明:
-
● 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
● 本文只简单罗列相关的代码实现过程
● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
█ 导读:
刚研究Android Studio,常常都是将Eclipse的项目导入到Android Studio中,在这个过程中,常常会遇到一些问题,在这里做一个笔记记录:
- 首次运行提示Unable to access Android SDK add-on list问题
比较特殊,安装android studio时,我选择SDK的安装目录是【D:\Users\Android\sdk】,结果安装完成后,在这【D:\Users\Android\sdk】路径下安装了个API 25 (Android 7.1.1 API) (build-tools\25.0.2和platforms\android-25),在这【C:\Users\Administrator\AppData\Local\Android\Sdk】路径(默认路径)下安装了个API 28 (Android 9.0 API) (build-tools\28.0.1和platforms\android-28),就是同时给我安装了两个sdk,默认还是指向了默认的路径【C:\Users\Administrator\AppData\Local\Android\Sdk】。
Can’t use Subversion command line client: svn Probably the path to Subversion executable is wrong. Fix it.
- 安装Android Studio问题
刚开始,我下载了一个android studio 2.3 Canary2(android-studio-ide-162.3508619-windows.zip)版本的,直接使用Eclipse(ADT)的SDK,也就是说Eclipse和android studio共享一个sdk,当然工作空间是要分开的。结果发现这个版本的部分问题,或者是我下载的问题吧!
● JDK路径不能设置,只要设置后,就自动恢复成默认的
● 印象中,好像想要创建Java Class,在New中找不到该选项。
● 新建的项目,运行出现如下错误,一直解决不了:
PS : 应该是下载的资源包有问题,后来删除掉,下载了1.6G的android studio 2.2.2版本(【android-studio-bundle-145.3360264-windows.exe】)就解决了这个问题。
PS2 : SDK路径不能设置,是因为路径不能包含空格等特殊字符导致的,就是路径的格式不对!(20180729补充)
- styles.xml编译错误
我的Eclipse项目,因此导入进来的时候错误比较多,比如:
● 遇到问题:
E:\workspace_2\Test_Android2016\app\src\main\res\values\styles.xml
Error: Found item Style/AppTheme more than one time
styles.xml的代码如下:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="android:style/Theme.NoTitleBar" />
......
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowAnimationStyle">@style/inout</item>
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
......
</resources>
● 解决方法:
很明显,是说AppTheme的名字重复定义了,不过不知道为什么以前在Eclipse打开时,没有这个错误的报警! |
4.styles.xml编译错误2
这个也是Eclipse项目,不过带有类库,如PullToReflesh_Lib之类,在导入进来的时候出现如下错误:
● 遇到问题:
Attribute application@name
value=(com.XXX.activity.base.MyTestApplication)
from AndroidManifest.xml:52:9-75
is also present at
[Test_Android2016_2:MyTesy_Lib:unspecified]
AndroidManifest.xml:52:9-62
value=(com.XXXXXX.activity.TheApplication).
Suggestion: add 'tools:replace="android:name"' to <application> element at AndroidManifest.xml:51:5-442:19 to override.
● 解决方法:
这个问题就是,相关资料1中的【Android Studio使用心得 - 常见问题集锦】中的出现的问题1,可以按照它里面介绍的方法, 当然如果是【android:theme="@style/AppTheme" 】的问题,还可以直接将AppTheme修改下名字即可。 这里给出一种解决方案,供参考: |
5.PNG编译错误1
● 遇到问题:
AAPT err(Facade for 2007584281):ERROR: 9-patch image E:\workspace_2\com333\gviews\src\main\res\drawable-hdpi\ic_test.9.png malformed.
● 解决方法:
该错误表示项目中的drawable下的ic_test.9.png图片文件不是.9.png 格式的图片。 将ic_test.9.png 名字修改为 ic_test.png |
该错误表示项目中的drawable下的图片文件有非png图片,命名为了png造成的。可以修改下图片的正确格式,或者如下操作: 在工程的build.gradle里加入 aaptOptions.cruncherEnabled = false 或者 aaptOptions { cruncherEnabled = false } |
该错误表示项目中的src下的java文件的编码格式不对,修改为UTF-8无BOM格式编码即可,可以通过工具转换,或者将旧的删除,再新建java文件。 |
PS :Eclipse可以智能的把有BOM文件转为无BOM文件,目前AndoridStudio木有这个功能,各位筒子需手动完成。
8.找不到类编译错误
● 遇到问题:
Error:(31, 34) 错误: 程序包android.support.annotation不存在
Error:(59, 5) 错误: 找不到符号
符号: 类 Nullable
位置: 类 AADeviceFrag
Error:(59, 36) 错误: 找不到符号
符号: 类 Nullable
位置: 类 AADeviceFrag
错误: 程序包android.support.annotation不存在
import android.support.annotation.Nullable;
● 解决方法:
该错误表示项目中的src下的java文件中的引用找不到的问题,恰好涉及到注解方面。 只需要在工程的build.gradle里引入库的声明: dependencies { compile 'com.android.support:support-annotations:21.0.2' } |
9.找不到类编译错误
● 遇到问题:
The method getAlpha() of type TargetDrawable.
DrawableWithAlpha must override or implement a supertype method.
错误: 方法不会覆盖或实现超类型的方法
警告: 最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;
● 解决方法:
解决方法有两种,一种直接将【@Override】去掉。 |
PS :以前在Eclipse中遇到过类似的,可以通过设置Windows->Preferences–>java->Compiler–>compiler compliance level设置成1.6解决,不过这次不是jdk的版本导致的,所以只能去掉【@Override】。
10.这个mockable-android-24.jar文件做什么的?
细心的人会发现,在每个工程都有\build\generated\mockable-android-24.jar文件(31.9M),他是用来做什么?
用来做单元测试用的,而且不能不同工程共用的。而且有些人压根没用到,
Android Studio可以直接关闭该功能,方法如下:打开设置,进入到Experimental,把第三个选项的勾选取消掉就可以了,之后再clean就可以删除该文件了
不过我再使用android studio 3.0.1的时候,没有发现该设置,如下:
对比三个工程,分别是,
● WeiMenu:(2017-08-22在AS2.2.2创建的工程)
android studio 2.2.2开发
gradle程序版本 2.14.1
compileSdkVersion 24
buildToolsVersion “24.0.3”
sdk.dir=D:\AndroidStudio2.2.2\sdk
classpath ‘com.android.tools.build:gradle:2.2.2’
distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip
● Demo-master:(2018-04-24网上下载更改后的工程)
android studio 3.0.1开发
gradle程序版本 3.3
compileSdkVersion 26
buildToolsVersion ‘26.0.2’
sdk.dir=D:\AndroidStudio3.0.1\sdk
classpath 'com.android.tools.build:gradle:2.3.1
distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip
● MyApplication:(2018-08-06在AS3.0.1创建的工程)
android studio 3.0.1开发
gradle程序版本 4.1
compileSdkVersion 26
buildToolsVersion ‘26.0.2’
sdk.dir=D:\AndroidStudio3.0.1\sdk
classpath ‘com.android.tools.build:gradle:3.0.1’
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
PS :如果你用android 8.0 就变成是mockable-android-26.jar(24.3M)了
█ 相关资料:
- Manifest merger failed with multiple errors, see logs
● Android Studio使用心得 - 常见问题集锦
2. AAPT err(Facade for): libpng error: Not a PNG file 错误解决
● AAPT err(Facade for): libpng error: Not a PNG file 错误解决
● AAPT: libpng error: Not a PNG file 问题解决
3.Andoird Studio 错误: 非法字符: ‘\ufeff’ 解决方案。
● Andoird Studio 错误: 非法字符: ‘\ufeff’ 解决方案
● AndroidStudio非法字符: '\ufeff’解决
4.javax.annotation.Nullable找不到
● Android工程中javax.annotation.Nullable找不到的替代方案
● Android注解支持(Support Annotations)