1.androidå¼åaarå®å
¨ä¹
2.å¦ä½å¶ä½ä¸ä¸ªandroid studioçaarä¾èµå
3.Androidåå¸AARå
4.aar是源码什么意思
5.android Studio如何打包和引用AAR
androidå¼åaarå®å ¨ä¹
ä¸ã为ä»ä¹ä½¿ç¨aaræå ï¼èä¸æ¯jar
jaræå åªææºä»£ç ï¼åèµæºæ件ä¸ä¼æå ï¼èaaræ°æ°ç¸åï¼å®ä¼æ代ç åèµæºç»ç»æå è¿ä¸ä¸ªæ件
äºãèµæºå½åé®é¢
èµæºå½åæ好ç»ç»å ä¸ä½ ç项ç®åååç¼ï¼æ¯å¦å¾çèµæºãstringãcolorãdimensãlayoutççï¼åæ£resç®å½ä¸æææ件æ好é½ä½¿ç¨ç»ä¸çå åç¼å½åï¼é²æ¢è·å®¿ä¸»appä¸çèµæºéå¤ï¼å 为aarå¼ç¨è·æºç å¼ç¨èµ·å°çææä¸æ ·ä¸æ ·çï¼ææå¾å®¹æåºç°èµæºéå¤å¼ç¨çé®é¢ï¼æ以å ä¸åç¼é常æå¿ è¦ã
å¦ä½å¶ä½ä¸ä¸ªandroid studioçaarä¾èµå
第ä¸æ¥ ï¼çæaaræ件
æçæ¹æ³æ¯éè¿maven-android-pluginæ¥çæçï¼å¦æä½ ä½¿ç¨è¿actionbarsherlock以åççæ¬çè¯ï¼è¿ä¸ªå·¥å ·åºè¯¥ä¸éçï¼å¦æä½ è¿maven
é½ä¸ç¥éçè¯ï¼å»ºè®®å¥½å¥½å¦ä¹ ä¸ä¸mavenï¼è½ç¶ç°å¨gradleå¾ç« ï¼ä½æ¯æè¿æ¯æå欢mavenã
å ³äºå ·ä½çææ¥éª¤ä¸ä¹ ä¸è¯¦ç»è¯´äºï¼æç« æåè´´åºå 个ç½åä¾å¤§å®¶å¦ä¹ 使ç¨ï¼æ¾å¿ææ顺åºç»ä½ 们ï¼åªè¦ä¸æ¥ä¸æ¥çæ¥ç»å¯¹è½æå
1 æä½ çmavençæ¬æåå°3.1.1
2 å»githubä¸cloneä¸æ¥
maven-android-sdk-deployer è¿ä¸ªé¡¹ç®
ãã3 éè¿maven-android-pluginçæä¸ä¸ªandroid项ç®
ã
ããmvn archetype:generate \
ãã-DarchetypeArtifactId=android-quickstart \
ãã-DarchetypeGroupId=de.akquinet.android.archetypes \
ãã-DarchetypeVersion=1.0. \
ãã-DgroupId=your.company \
ãã-DartifactId=my-android-application
ãã
ããå¦æä¸è½å¤ç¼è¯æ们å¯è½è¦ä¿®æ¹ä¸ä¸pom
ã
ãã<?xml version="1.0" encoding="UTF-8"?>
ãã<modelVersion>4.0.0</modelVersion>
ãã<groupId>com.lee.study.android</groupId>
ãã<artifactId>NiMa</artifactId>
ãã<version>0.0.1</version>
ãã<packaging>aar</packaging>
ãã<name>NiMa</name>
ãã
ãã<properties>
ãã<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
ãã<platform.version> 4.1.1.4
ãã</platform.version>
ãã<android.plugin.version>3.8.0</android.plugin.version>
ãã</properties>
ãã
ãã<dependencies>
ãã<dependency>
ãã<groupId>com.google.android</groupId>
ãã<artifactId>android</artifactId>
ãã<version>${ platform.version}</version>
ãã<scope>provided</scope>
ãã</dependency>
ãã</dependencies>
ãã<build>
ãã<finalName>${ project.artifactId}</finalName>
ãã<pluginManagement>
ãã<plugins>
ãã<plugin>
ãã<groupId>com.jayway.maven.plugins.android.generation2</groupId>
ãã<artifactId>android-maven-plugin</artifactId>
ãã<version>${ android.plugin.version}</version>
ãã<extensions>true</extensions>
ãã</plugin>
ãã</plugins>
ãã</pluginManagement>
ãã<plugins>
ãã<plugin>
ãã<groupId>com.jayway.maven.plugins.android.generation2</groupId>
ãã<artifactId>android-maven-plugin</artifactId>
ãã<configuration>
ãã<sdk>
ãã<platform></platform>
ãã<path>E:\android_work\sdk\</path>
ãã</sdk>
ãã</configuration>
ãã</plugin>
ãã</plugins>
ãã</build>
ãã</project>
ãã
ããä¸é¢é½æ¯æçpomï¼ä¿®æ¹äºæå ç±»ååæ件çæ¬ä»¥åæ·»å äºsdkä½ç½®ã
ããç¶åæ§è¡æå å½ä»¤ï¼å°±å¯ä»¥çæaaræ件äºï¼å¦æä½ æ¯å·²ç»æå好çç±»åºçè¯ï¼å¯ä»¥å°è¯è¿ä¿®æ¹æmavenå½¢å¼çã
ãã第äºæ¥
å¯¼å ¥å°android studioä¸ å建libsæ件夹ï¼æ¾å ¥æ³è¦å¯¼å ¥çæ件
1 ä¿®æ¹build.gradle ,ä¾ç¶æ¯ç»åºæç大家å¯ä»¥æç §èªå·±ç项ç®å¯¹æ¯ä¿®æ¹
ã
ããbuildscript {
ããrepositories {
ããmavenCentral()
ãã}
ããdependencies {
ããclasspath 'com.android.tools.build:gradle:0.6.+'
ãã}
ãã}
ããapply plugin: 'android'
ãã
ããrepositories {
ããmavenLocal()
ããmavenCentral()
ããflatDir {
ããdirs 'libs'
ãã}
ãã}
ãã
ããandroid {
ããcompileSdkVersion
ããbuildToolsVersion ".1.1"
ãã
ããdefaultConfig {
ããminSdkVersion 7
ããtargetSdkVersion
ãã}
ãã}
ãã
ããdependencies {
ãã// compile fileTree(dir: 'libs', include: '*.aar') compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
ããcompile 'com.jayway.maven.plugins.android.generation2.samples.libraryprojects:aar-lib1:1.0.0@aar'
ãã//compile 'com.lee.study.android:NiMa:0.0.1@aar' compile 'com.android.support:support-v4:.0.+'
ãã}
ããandroid {
ããcompileOptions.encoding = "UTF-8"
ãã}
Androidåå¸AARå
æè¿æéæ±è¦åå¸ä¸å¥SDKï¼è¿å¥SDKæå 个è¦æ±ï¼
ä¾ç §ä¸é¢çè¦æ±ææå æ³å°çå°±æ¯AARå äºï¼å 为以ä¸å 个åå ï¼
æå aarå ¶å®å¾ç®åï¼åªéè¦æ们å建ä¸ä¸ªLibraryå·¥ç¨å°±å¯ä»¥äºã
è¿ä¸ªæ¶åç¼è¯Libraryå°±ä¼å¨outputsç®å½ä¸çæä¸ä¸ªaaræ件夹ï¼éé¢å å«aaræ件ã
aarä¹æ¯å¯ä»¥æ··æ·çï¼æ¹å¼åapkä¸æ ·ã
å¼ç¨aarå¯ä»¥æ两ç§æ¹å¼ï¼ä¸ç§æ¯æ¬å°å¼ç¨ï¼ä¸ç§æ¯è¿ç«¯åºå¼ç¨ï¼ç®åæåªç¨å°äºæ¬å°å¼ç¨ï¼è¿ç«¯ç以åä¼è¡¥ä¸ãé¦å å¨bulid.gradleæ件ä¸å®ä¹ä¸ä¸ªæ¬å°åºã
ç¶åå¨ä¾èµå¼ç¨çå°æ¹æ·»å ä¾èµã
nameï¼aarå çååï¼extï¼æ©å±åï¼
æå aarå çæ¶åä¼èªå¨å°libç®å½ä¸çjaræå è¿aarå ä¸ã
å 为åå±çåå ï¼æå¤ä¸ªlibraryå·¥ç¨ï¼è¿æ ·å°±ä¼æå¤ä¸ªaarï¼åå¸èµ·æ¥å¾éº»ç¦ï¼å°è¯googleäºå天ï¼åç°ç®åé½æ¯ä¸ä¸ªåæ³ï¼android-fat-aarï¼ä¸ä¸ªgradleèæ¬ï¼githubå°åæ¯ï¼ /adwiv/android-fat-aar ãä¸è¿æåç°ä»æ¯ægradle2.2.Xä¹åççæ¬ï¼æ°ç3.Xçæ¬å¹¶ä¸è½æ§è¡ãè¿åè¿å¨ç»§ç»æ¸ç´¢ï¼æç¥éåæ³ç大ç¥è¯·ææä¸ä¸~~~~
aar是什么意思
AAR是归档文件的扩展名。 以下是源码关于AAR的详细解释: 1. AAR文件的基本含义 AAR是Android项目中用于存放编译后的类文件的归档文件的扩展名。它包含了应用程序的源码所有编译代码,是源码Android开发过程中非常重要的文件之一。开发者在开发过程中会经常与AAR文件打交道,源码因为它涉及到项目的源码kernel源码阅读构建和依赖管理。 2. AAR文件的源码作用 在Android开发中,AAR文件主要用于以下几个方面: 集成库依赖:开发者可以将第三方库或模块编译成AAR文件,源码然后在自己的源码项目中通过依赖的方式引入这些库或模块,无需关心其源代码。源码这样做的源码好处是简化了依赖管理,提高了开发效率。源码 代码复用和模块化开发:AAR文件可以作为代码复用的源码媒介。开发者可以将一些通用的源码功能封装成模块,制作成AAR文件,源码然后提供给其他开发者使用。这种方式可以极大地提高开发效率和代码质量。全开源系统源码 跨平台兼容性:由于AAR文件是针对Android平台的,因此它具有跨平台的兼容性。无论是在哪个版本的Android设备上,只要安装了相应的应用程序,就可以使用AAR文件所包含的功能。 3. AAR文件的创建和使用 要创建和使用AAR文件,开发者需要使用Android Studio等开发工具进行编译和打包。在项目中,表白源码是什么可以通过添加依赖的方式引入AAR文件。此外,还可以使用构建工具(如Gradle)来管理和处理AAR文件。在使用过程中,开发者需要注意文件的兼容性和版本问题,以确保项目的正常运行。 总的来说,AAR文件在Android开发中扮演着重要的开发语音对讲源码角色,它简化了依赖管理,提高了开发效率,并促进了代码的复用和模块化开发。了解和使用AAR文件对于Android开发者来说是非常必要的。android Studio如何打包和引用AAR
本文将指导您在Android Studio中打包和引用AAR,以实现更有效的模块依赖和资源管理。 首先,让我们明确AAR包与jar包的电商源码交付区别:AAR包包含了资源文件、第三方库和so文件,而编译后的代码在classes.jar中。通过AAR,项目间的依赖关系更加简洁。步骤一:创建AAR模块
在Android Studio中,首先创建一个新的Android Project,然后添加一个名为Libray Project的模块。具体步骤请参考相关教程,这里不再详述。步骤二:配置build.gradle
将模块设置为library,修改build.gradle文件,将applicationId和com.android.application更改为com.android.library,并删除applicationId行。然后配置输出aar文件。步骤三:编译并生成aar
编译模块后,会生成aar文件,如[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。推荐使用release版本的aar。步骤四:验证和使用aar
在Module的build/output目录下查看aar文件,通常选用release版本。导入aar文件到项目中,可以有直接导入*.JAR or *.AAR Package或复制到libs目录两种方式,然后在gradle文件中配置依赖。AAR的其他注意事项
您可以创建自己的AAR库,如AndroidUtils,包含常用功能和资源。对于依赖控制,使用compile project或compile,选择适合项目需求的方式。 本文由sunst撰写,如需更多更新或交流,可在知乎关注我或通过qyddai@gmail.com联系。