shallow clone
參考這篇作法 How to handle big repositories with git
git clone --depth depth remote-url
另外 repo 也可以
repo init --depth=DEPTH
unshallow
參考 Convert shallow clone to full clone
git fetch --unshallow
參考這篇作法 How to handle big repositories with git
git clone --depth depth remote-url
另外 repo 也可以
repo init --depth=DEPTH
參考 Convert shallow clone to full clone
git fetch --unshallow
新的 build 系統加了 applicationId 這東西
簡單的說, 他要解決不同版本 (free/pro) 如何產出 apk 的問題
例如說兩個版本
在舊的 build tool 上, 要把 AndroidManifest.xml 分別用不用的 packageName 分開
… 想到就很痛苦
新的 build 系統讓 source code 幾乎都不改的情形下
只修改 .gradle 檔
app/build.gradle:
productFlavors {
pro {
applicationId = "com.example.my.pkg.pro"
}
free {
applicationId = "com.example.my.pkg.free"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
....
注意的點在於,雖然不用改 manifest 裡的 pkg name
可是實際上 package name 已經改了
$ aapt d badging app-release.apk
package: name='com.example.my.pkg.free' versionCode='1' versionName='1.0' platformBuildVersionName=''
sdkVersion:'15'
targetSdkVersion:'20'
如果是直接指定 component 的情形下,要小心
adb shell am start -n com.example.my.pkg/.MainActivity 已經無法使用
要改成
adb shell am start -n com.example.my.pkg.free/com.example.my.pkg.MainActivity