Android应用开发之将Android类库打包成.aar文件的新建
凌雪 2018-11-29 来源 :网络 阅读 1183 评论 0

摘要:本文将带你了解Android应用开发之将Android类库打包成.aar文件的新建,希望本文对大家学Android有所帮助。

本文将带你了解Android应用开发之将Android类库打包成.aar文件的新建,希望本文对大家学Android有所帮助。


在需要打包的libary下新建一个maven-release-aar.gradle文件,文件内容如下:
    <code> // 1.maven-插件apply plugin: 'maven'// 2.maven-信息ext {// ext is a gradle closure allowing the declaration of   global properties    PUBLISH_GROUP_ID =   'com.example'    PUBLISH_ARTIFACT_ID =   'mylibs'    PUBLISH_VERSION = 1.0} // 3.maven-输出路径uploadArchives   {    repositories.mavenDeployer   {        //这里就是最后输出地址,在自己电脑上新建个文件夹,把文件夹路径粘贴在此        //注意”file://“ + 路径,有三个斜杠,别漏了        repository(url:   "file:///Users/xxxx/Desktop/mylibs")         pom.project   {            groupId   project.PUBLISH_GROUP_ID            artifactId   project.PUBLISH_ARTIFACT_ID            version   1.0        }    }} ////以下代码会生成jar包源文件,如果是不开源码,请不要输入这段////aar包内包含注释//task androidSourcesJar(type: Jar) {//      classifier = 'sources'//    from   android.sourceSets.main.java.sourceFiles//}////artifacts   {//    archives androidSourcesJar//}</code>
在AS的右侧的Gradle选项中选择:mylibs下的upload中的uploadArchives 选项生成的.aar文件在 /Users/xxxx/Desktop/mylibs 目录里面
(可选) 上传到github上去。 a:在github中新建organization,再继续新建repository,再将/Users/xxxx/Desktop/mylibs文件夹内文件上传。
本地引用:
    a: build.gradle中添加引用:  
    <code>     allprojects   {    repositories   {        google()        jcenter()         maven   { url "file:///Users/xxxxx/Desktop/mylibs"   }    }}</code>
    b: app模块下的build.gralde中添加类库引用:
    dependencies {
    compile('com.example:mylibs:1.0')
    }
   
    5. 网络引用:
    a: build.gradle中添加引用:
    ?123456789<code><code>     allprojects   {    repositories   {        google()        jcenter()         maven   { url "https://github.com/xxxxxx/mylibs/raw/master"   }    }}</code></code>
    b: app模块下的build.gralde中添加类库引用:
    dependencies {
    compile('com.example:mylibs:1.0')
    }
   
    6. 混淆:(默认的混淆文件,可根据自己需求定义)
    <code><code><code><code>     #指定压缩级别    -optimizationpasses   5     #不跳过非公共的库的类成员    -dontskipnonpubliclibraryclassmembers     #混淆时采用的算法    -optimizations   !code/simplification/arithmetic,!field/*,!class/merging/*     #把混淆类中的方法名也混淆了    -useuniqueclassmembernames     #优化时允许访问并修改有修饰符的类和类的成员       -allowaccessmodification     #将文件来源重命名为“SourceFile”字符串    -renamesourcefileattribute   SourceFile    #保留行号    -keepattributes   SourceFile,LineNumberTable    #保持泛型    -keepattributes   Signature     #保持所有实现 Serializable 接口的类成员    -keepclassmembers class * implements   java.io.Serializable {        static   final long   serialVersionUID;        private   static final java.io.ObjectStreamField[]   serialPersistentFields;        private   void   writeObject(java.io.ObjectOutputStream);        private   void readObject(java.io.ObjectInputStream);        java.lang.Object   writeReplace();        java.lang.Object   readResolve();    }     #Fragment不需要在AndroidManifest.xml中注册,需要额外保护下    -keep   public class * extends   android.support.v4.app.Fragment    -keep public class *   extends android.app.Fragment     # 保持测试相关的代码    -dontnote   junit.framework.**    -dontnote   junit.runner.**    -dontwarn   android.test.**    -dontwarn   android.support.test.**    -dontwarn org.junit.**</code></code></code></code>    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved