Android 各种报错,各种被坑的节奏

简介:

今天悲剧了一大下,无语了彻底,现在的心情还久久不能平静,原因就是在不必要的地方瞎耽误了些许功夫。

说一下背景吧,就是之前在本地把项目的一些功能什么的都完成了,准备往SVN的项目里整合一下,结果老大在服务器上创建项目的时候,Android SDK的版本是最新的,我们小的本地里的版本还没有及时更新上去,本来自己下载一下就好了嘛,但是在这个抢网速已经到了无节操的时代,我对于更新Android SDK表示很有压力。

不过老大开了一个共享文件夹,可以直接将他的Android SDK拷到自己的本地,这到也没什么了。因为之前最开始的时候也是从他那拖的整套SDK。

然后各种问题也就接踵而来了,下面一一来表(不按问题发生顺序)

1、提示:This Android SDK requires An... ADT to the latest version. 如图:

wKiom1N1fTWjrrw6AAJUXvkje4M251.jpg

这个问题出现的原因是ADT(Android开发工具)的版本没有跟上Android SDK的版本。对于ADT的配置其实是在我们最初在Eclipse上配置Android开发环境时就有的一步,只不过时间一久就有点记忆模糊了。话说Android SDK4.4版本貌似变化很大,所以ADT应该也是要更新的,关于ADT的配置官网给出了步骤详解。如图:

wKiom1N1hRjCPMIWAALJXkjBOIE860.jpg

大家只要进入【Help】-【Install New Software】-【Add】,按照上图把名字填成ADT Plugin,把URL写成官方给出的那个链接就行,如果小写的https不好使的话,大家可以试试改成大写的HTTPS或者改成http,然后点OK,如下图,选择【Developer Tools】和【NDK Plugins】两项,然后下一步,确定就OK了。

wKiom1N1hULD4KcHAANO4Zbdg-4107.jpg

这样ADT就算配置完成。

2、从SVN中检出项目跟以前也有点不一样,以前是直接就能把项目下载到本地,现在不知道是什么原因,下载到本地的不是完整的项目

这里还要说一下从SVN上导入项目到本地的时候,我们应该选择一个【做为新项目检出】,也就是在本地创建一个与项目名称一样名字的项目。如图:

wKioL1N1hVeQxDyVAAGphfvXERw323.jpg

这块有个小技巧教给大家如何快速创建一个本地项目,然后方便后续将无用文件删除的方法。如图:

wKiom1N1hZjCIafkAAJt1gZchc4086.jpg

在【Application Name】处填写与服务器上相同的项目名称,下面的【Project Name】和【Package Name】都会自动生成,然后不停的下一步,直到此处,如图:

wKiom1N1hbTjXiezAAHxpCLQzhQ601.jpg

这里同样只填写【Activity Name】处就行了,默认会是“MainActivitiy”,我的方法是在后面直接加几个数字或字母就行,比如111或aaa,同样下面的【Layout Name】和【Fragment Layout Name】也都会自动生成。

wKioL1N1haGB_-aeAADe4fvc5JE189.jpg

点击确定后会出现如下提示,这个时候请点【Cancel】,这个东西还没研究到底是什么,但一定是Android SDK4.4版本里的东东,看样子好像跟主题样式什么的有关。大家只要不进行覆盖就行了。

wKioL1N1hc2AwBRKAADrmX3qypM109.jpg

现在创建的项目中我们会发现虽然项目名称与服务器上的一致,但是根本就没有服务器上项目的文件,这时候右键点击【Team】只出现两项,看不到【更新】等操作。出现这种情况我们可以用以下方法解决,如图:

wKioL1N1hfWTPlrcAAJVJ-X6GnA716.jpg

然后一直点下去,在这里选择【使用已有资源库位置】,下一步

wKiom1N1hluijRfpAAFDe8n2o5o604.jpg

在这里选择【使用项目名称做为文件夹名】,下一步

wKiom1N1hwOgIN_lAAFrWNPdpko232.jpg

我们看会出现这个,建议选择【No】,然后就完成了。

这个时候我们会发现服务器上的文件已经全部下载到本地当中,我们再把先前创建的包(package)布局文件(layout.xml)删除就行了,由于名字都是特殊的,也就比较好找了。但是问题远没有结束。

3、报错:activity_XXX cannot be resolved or is not a field

解决办法:遇到这个问题或者提示的时候,大家可以看看是不是在加了import android.R或者别的什么import XXX.R,如果有请删除。

4、继续报错:R cannot be resolved to a variable

这个时候不知道大家有没有想骂街的冲动,反正我是有了,刚刚就是我们主动去把import XXX.R给删除的啊,难道还要加回去不成?当然不,这个时候我们需要进入AndroidManifest.xml文件当中去,我们会发现package项的内容为我们最初创建项目时候的包名,这里我们需要改成服务器上的项目真正使用的包名,再查看有没有服务器项目上对应的Activity(应该是没有),如果没有的话,我们就需要所有的Activity都注册一下,然后设置一个启动的Activity。如图:

wKiom1N1huuwAJBnAAMB7FPEU8Y870.jpg

到这为止,我遇到的问题就全都解决了,项目也能在设备上运行成功了。虽然写出来的问题好像不太多,也没那么麻烦,但是自己确实是花了好长的时间去搞。而且问题4还是今天早上来的时候解决的,对,这篇文章其实是昨天开始写的。

PS:请大家谨慎使用问题2中说的【Team】-【Share Object】,与项目同步,这个东东有点危险总觉得。

希望能帮到有需要的人,节省大伙儿的时间。










本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1412217,如需转载请自行联系原作者

目录
相关文章
|
4天前
|
Android开发
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )
26 1
|
3天前
|
安全 编译器 API
Android HAL深入探索(5): 调试HAL报错与解决方案
Android HAL深入探索(5): 调试HAL报错与解决方案
6 1
|
17天前
|
Android开发 开发者
安卓投屏神器 Scrcpy安 报错ERROR: Could not find any ADB device
使用Scrcpy安卓投屏工具时遇到报错,问题根源是未开启开发者模式。解决步骤:进入设置,点击【关于手机】→连续点击版本号激活开发者模式,然后在【系统设置】→【开发者选项】中开启USB调试。参照此方法后可正常执行。Scrcpy软件下载链接和GitHub页面也已提供。
26 1
|
XML 缓存 IDE
解决Android Studio报错:Compilation is not supported for following modules
本文主要解决和"Compilation is not supported for following modules"有关的报错。
1437 0
解决Android Studio报错:Compilation is not supported for following modules
|
6月前
|
开发工具 Android开发 iOS开发
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
使用vs2019学习xamarin时,创建新程序。使用模拟器真机等测试都报错如下图错误: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-de8ce5fd.png?x-cos-security-token=r4KyZDEowPT0kGTL0LqE8EnwfN1Nzexadb05dcffed3939ff8d7591c528c01706nvpGSE93QwHpZM8NwhJNTZctNRQa0l3KDhEnqj8P7d8t
63 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
|
8月前
|
数据安全/隐私保护 Android开发
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
uniapp vue3版本 Android 引用 jsencrypt加密库 报错问题 “default“ is not exported by,解决方法
838 0
|
9月前
|
前端开发 Android开发
在android studio中启动模拟器的时候报错...keeps shopping
在android studio中启动模拟器的时候报错...keeps shopping
67 0
|
11月前
|
Android开发
Android关于Manifest清单文件name报错
在清单文件的根目录加上package 里面的是你的包名 activity的name,前面有个点是接上了你的package名,省略了包名,不然 com.yyt.accountbooks.activity.LoginActivity这样就是不简写的。
61 0
|
11月前
|
数据可视化 开发工具 Android开发
Android Git 拉取代码报错:error: cannot pull with rebase: Your index contains uncommitted changes.
造成原因:在使用Android Studio中Git的Commit Directory 将本地更改的代码保存到本地后,点击commit,发现提交不上去,发现本地有代码,这时候拉取代码,报错:cannot pull with rebase: Your index contains uncommitted changes.表示我的索引有未提交的改变
|
Android开发
uniapp android 打包报错:Execution failed for task ‘:app:checkReleaseDuplicateClasses‘.
uniapp android 打包报错:Execution failed for task ‘:app:checkReleaseDuplicateClasses‘.
639 0
uniapp android 打包报错:Execution failed for task ‘:app:checkReleaseDuplicateClasses‘.