作家
登录

为什么要开发Android库?

作者: 来源: 2017-09-08 10:04:38 阅读 我要评论

    } 
  • Advanced Topics

    注解处理技巧( Annotation processing technologies )如今已经异常风行了。在编译的时刻,Javac 平日会找到你定义的注解并且在他们之上做操作,是以你能做的平日就是生成新的类和 Java 文件。你可以写你本身的注解处理器。固然很不简单,然则可行。

    注解技巧异常擅长处理两件工作。一是削减反复代码(boilerplate),另一件拿手的就是优化运行时的反射(introspection)。在运行时履行反射操作是异常慢的,是以你最好能在编译时代就却竽暌古化你的法度榜样,推荐一些比较风行的用注解来处理数据的看魏 Dagger , Butter Knife , AutoValue / Autoparcel , 以及 Realm 。

    一个不好的消息是:Android API 不克不及给注解供给精确的包路径。解决这个问题的办法是创建两个子项目,一个用来指向注解,另一个指向注解处理器。注解同时须要注解处理器和你的代码。是以,你的 Android 库项目,将会有两个子项目。创建完两个子项目后,你须要将他们都打包在一路,最终打包出来的器械不仅仅是你的 jar 文件,同时还有注解和注解处理器。你还须要修改 javadoc 义务,把注解部分的文档也添加进去,以便闪开辟者可以或许读到所有的文档。

    1. // Jar 
    2. task androidJar(type: Jar) { 
    3.     dependsOn assemble 
    4.     group 'Build' 
    5.     description 'blah blah' 
    6.     from zipTree( 
    7.         'build/intermediates/bundles/release/classes.jar'
    8.     from zipTree( 
    9.         '../annotations-processor/build/libs/processor.jar'
    10.     from zipTree( 
    11.         '../annotations/build/libs/annotations.jar')  
    12.  
    13. // javadoc tasks 
    14. android.libraryVariants.all { variant -> 
    15.     task("javadoc${variant.name.capitalize()}", type: Javadoc) { 
    16.         description "Generates Javadoc for $variant.name." 
    17.         group 'Docs' 
    18.         source = variant.javaCompile.source 
    19.         source "../annotations/src/main/java" 
    20.         ext.androidJar = files(plugins 
    21.                                 .findPlugin("com.android.library"
    22.                                 .getBootClasspath()) 
    23.         classpath = files(variant.javaCompile.classpath.files) 
    24.                     + ext.androidJar 
    25.         exclude '**/BuildConfig.java' 
    26.         exclude '**/R.java' 

        推荐阅读

        如何把Go调用C的性能提升10倍?

      今朝,当Go须要和C/C++代码集成的时刻,大年夜家最先想到的肯定是CGO。毕竟是官方的解决筹划,并且简单。调用C函数的时刻,必须切换当前的┞坊为线程的主栈,这带来了两个比较严重的问题:>>>详细阅读


      本文标题:为什么要开发Android库?

      地址:http://www.17bianji.com/lsqh/37244.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)