标签:
File->New->New Project...
假设宿主包名为com.example.mysmall
MySmall
修改Company Domain为com.example.mysmall
这步是个技巧,在Step3新建Module时将会自动带上该前缀
修正Package name为com.example.mysmall
这步推荐使用Fullscreen Activity,作为启动界面再好不过。 在配置Activity界面,建议把Activity Name改为LaunchActivity(使名符其实)。
修改Project的build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:1.3.0‘
classpath ‘net.wequick.tools.build:gradle-small:0.1.1‘
}
}
...
apply plugin: ‘net.wequick.small‘
目前只有一个属性aarVersion
,表示Small aar的代码库版本。如果没有设置,默认为gradle-small
的版本。
small {
aarVersion = ‘0.1.2‘
}
最新的版本号可以在Bintray上看到。
File->New->Module来创建插件模块,需要满足:
app.*
, lib.*
或者web.*
包名包含:.app.
, .lib.
或者.web.
为什么要这样?因为Small会根据包名对插件进行归类,特殊的域名空间如:“.app.” 会让这变得容易。
对lib.*
模块选择Android Library,其他模块选择Phone & Tablet Module。
创建一个插件模块,比如app.main
:
右键app
模块->New->Folder->Assets Folder,新建assets
目录,
右键assets
目录->New->File,新建bundles.json
文件,加入:
{
"version": "1.0.0",
"bundles": [
{
"uri": "main",
"pkg": "com.example.mysmall.app.main"
}
]
}
切换到Project
目录树,右键MySmall
,新建sign
目录,添加release.jks
签名文件。
在app
模块的build.gradle
中增加签名配置(密码改成自己的):
signingConfigs {
release {
storeFile file(‘../sign/release.jks‘)
storePassword "5mall@ndro!d"
keyAlias "small"
keyPassword "5mall@ndro!d"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
在app
模块增加共享的依赖库,比如:
compile ‘com.android.support:design:23.1.1‘
在app
模块的LaunchActivity
重载onStart
方法:
@Override
protected void onStart() {
super.onStart();
Small.setBaseUri("http://example.com/");
Small.setUp(this, new net.wequick.small.Bundle.OnLoadListener() {
@Override
public void onStart(int bundleCount, int upgradeBundlesCount, long upgradeBundlesSize) {
}
@Override
public void onProgress(int bundleIndex, String bundleName, long loadedSize, long bundleSize) {
}
@Override
public void onComplete(Boolean success) {
Small.openUri("main", LaunchActivity.this);
}
});
}
Build libraries (准备基础库)
[./]gradlew buildLib -q (-q是安静模式,可以让输出更好看,也可以不加)
Build bundles (打包所有组件)
[./]gradlew buildBundle -q (-q是安静模式,可以让输出更好看,也可以不加)
.目录结构
标签:
原文地址:http://blog.csdn.net/cuiran/article/details/50552689