注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

Android开发之三十AndroidStudio打包并调用aar库的补充和细节完善  

2015-07-14 11:14:01|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Android开发之三十AndroidStudio打包并调用aar库的补充和细节完善

上一篇博文使用的是Eclise导出文件到AndroidStudio的方法,结果是出现了V4问题,但是如果直接从AndroidStudio工程中导入Eclipse工程,则不会出现这个问题,在工程中可以看到,确实是没有V4这个包。这也算是高版本的AndroidStudio带来的一个福利吧。看同事这么做的。确实不错。

确如上篇博文所讲,资源在V14版本以上(aar库中)就不再使用final static的静态定义,所以很容易出现资源的重复,特别是name的重复。这次虽然没有V4的错误,但在编译成功后加入到测试工程编译报一个

Error:(1) Attribute "height" has already been defined

也就是说,两个工程里都定义了这个Name,仔细看了一下xml的相关资源定义,果然,有两个这个属性,看了看在库中也同有别的地方用到,于是就试着用V4解决的方法,把这个定义去除。编译成功,再加入到测试工程中,通过。所以基本可以总结如下:

如果库与实际工程有资源定义上的冲突,就直接修改名字或者把没用的删除掉就可以了。这是解决问题的最根本的方法。

另外在编译直接导入的程序还有一个问题,那就是在把Exe转到库输出时,报下面的错误:

Errorlibrary projects cannot set applicationId.applicationId is set to

原因错误已经说得很清楚了,那就是库的工程是不能够设置applicationId,修改的方法就是:

    defaultConfig {
//        applicationId "com.irisking.screenlockdemo"
        minSdkVersion 14
       
targetSdkVersion 19
   
}

另外需要注意的是:在上篇博客里提到了有两个gradle文件,需要互相修改一下,其实发现这种导出的工程就有两个Gradle文件,但是其实还是只改Moudle中的Gradle文件就可以了。

还有一个问题,就是在前面的导出的程序在Exe中是:

apply plugin: 'android'
可这里实际是这个样子:
apply plugin: 'com.android.application'

也就是说,不同的工程还是要注意程序的配置的。最大的一个知识点其实就是导入Eclispe的工程其实是也可以使用AndroidStudio直接在界面中导入的(就是开始的界面,可以把头前工程关闭,然后在工程界面中有一个选项)。

往下包袱,开动机器,多向别人学习。

  评论这张
 
阅读(202)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017