在Android studio创建一个新的项目时出现了library is not specified的错误,应该

在Androidstudio创建一个新的项目时出现了libraryisnotspecified的错误,应该怎样解决... 在Android studio创建一个新的项目时出现了library is not specified的错误,应该怎样解决 展开
 我来答
小七看着你哭乃
2017-04-11 · 超过50用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:20.9万
展开全部
将as的项目作为library导入到另外一个as项目中:1.启动AndroidStudio后,打开你需要接收Library的项目。比如有两个项目,项目A,和Library项目B,那么打开项目A。2.在下拉菜单中依次找到New——ImportModule,点击打开项目导入窗口。注意导入的是Module而不是Project,如果是Project的话AndroidStudio会自动打开一个新的窗口编辑,那样的话就是不Library了。3.在打开的窗口中点击右侧的""浏览窗口,在文件夹窗口中找到你要导入的Library项目的位置,选择后点击底部的OK按钮导入。4.导入窗口中显示了该Module(项目)的详细信息,点击Finish完成导入。需要注意的是导入到AndoridStudio项目中的Library也必须是AndroidStudio项目,不能是Eclipse项目,如果是Eclipse项目的话,需要选择导出AndroidStudio项目。5.在项目首页中选择Project标签,可以看到项目的文件结构图中多出了我们刚才导入的项目。Library的导入就完成了。接下来是一些配置,把该library导入到主项目中1.点击顶部左上角的File菜单,在出现的下拉菜单中找到ProjectStructure,点击进入。2.在窗口左侧选择原始的项目后,点击右侧的Dependencies(依赖项)。可以看到项目当前引用的jar包等信息。3.点击右侧的“+”添加按钮,在下拉菜单中找到ModuleDependency(项目依赖),点击打开项目选择窗口。4.选择前面步骤中导入的Library项目后,点击OK按钮导入到原始项目中。5.原始项目的依赖项中就出现了导入的Libray项目,这时在项目中就能正确引用Library项目中的内容了,点击底部的OK按钮完成添加。你以为这样就完成了吗?真是太天真了,这只是第一步,接下来会有无数的bug在等着你,下面就是本篇文章的正题了,bug集锦!!BugNo.1Error:AndroidStudioTransformException:Error:Executionfailedfortask':app:transformClassesWithDexForDebug'解决方案:在你的主项目的build.gradle文件中,增加加粗的那一行Android{compileSdkVersion..buildToolsVersion''defaultConfig{targetSdkVersion..multiDexEnabledtrue//thislinewillsolvethisproblem}}BugNo.2Error:unspecifiedonprojectappresolvestoanAPKarchivewhichisnotsupported解决方案:在我们作为library的项目里,他的头部是applyplugin:'com.android.application'这句话告诉了Gradle将我们要作为library的项目编译称为application,也就是apk,这就是问题的所在;方法就是,将上面该句改为:applyplugin:'com.android.library'后,别急还有问题,Gradle将其编译称为一个Library,也就是库,运行之后,会出现Error:LibraryprojectscannotsetapplicationId.applicationIdissetto'package_name'indefaultconfig.那是因为一个库不允许设置applicationId,需要将builde.gradle—android—defaultConfig中的applicationId删除。BugNo.3Error:Error:Executionfailedfortask':greencar:processDebugManifest'.>Manifestmergerfailedwithmultipleerrors,seelogs。原因:AS的Gradle插件默认会启用ManifestMergerTool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。解决方案:在manifest根标签上加入xmlns:tools="/tools",并在Manifest.xml的application标签下添加tools:replace="name,icon,label,heme"以及在主项目的manifest文件中,重复写了call_phone的权限,网上也有人是某个activity下多写了一句intent-filter,里面没有内容,将这些重复的空的删掉就好,并将作为lib的minisdk与主项目同步(修改library飞build.gradle文件中最小sdk,或者降低主项目的sdk)BugNo.4error:在作为library的项目中报错:需要常量表达式解决方案:在一般的Android项目中,R类的常量都是用final定义的,但ADT14之后,如果在library项目中,它会没有final关键字,而我们在作为library的项目中使用了switch,在switch语句的case中,如果使用R.id.xxx则会提示有问题,不允许非常量在case语句中。Google提供的一个方法就是把它转化为if-else语句。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式