sourceSets
需要不同渠道对应不同src lib res的时候,包括debug,release要分离时,可以用下面的方法设置:
sourceSets
{
main {
assets.srcDir "src/main/assets"
manifest.srcFile "src/main/AndroidManifest.xml"
debug {
jniLibs.srcDir 'src/main/jniDebugLibs'
}
release {
jniLibs.srcDir 'src/main/jniReleaseLibs'
}
}
officalandr.java.srcDir "app/officalandr/src"
officalandr.res.srcDir "app/officalandr/res"
officalandr.jniLibs.srcDir "app/officalandr/libs"
officalandr.manifest.srcFile "app/officalandr/AndroidManifest.xml"
}
SDK开发目标是为了提供开发包给第三方app的开发者,常见情况下,提供jar包或者aar包。jar包可以包括代码、资源文件(包括图片、xml文件、动态链接库等,需要二次打包),jar由于不能直接引用xml页面布局,难以实现界面布局,必须用java实现所有界面,实现起来麻烦,一个简单的界面要写很多的代码,维护起来也比较麻烦,但是通过aapt编译xml页面布局,使其成为另外一种Android的布局系统更容易解析的一种格式(Compiled xml),在代码中通过反射使用XmlPullParser,inflate出xml中的布局,也可以得到页面。aar包可以包括许多资源(代码、资源文件、配置文件等等,既包含class又包含了res资源下的所有内容),使用常用的app开发方式进行开发,自动会把所有的资源文件、配置文件(甚至是app整体配置文件AndroidManifest.xml)全部引入aar包中,不需要开发人员进行其他工作,相对jar,aar的使用方便许多,但是由于许多开发者依然使用的IDE是Eclipse,在aar接入方面不便,jar接入使用依然较多,在google推荐的IDE Android Studio中,aar的打包和接入就十分方便。