通常 Android App 要上架
release 會作 Proguard/R8
可是在 Google Play console 看當機報告
看到的會是混淆結果
其實可以上傳 mappings
方便在 Google Play console 追蹤
既然提到 mappings
多少要了解 Proguard 有哪些產出
- mapping.txt
通常 Android App 要上架
release 會作 Proguard/R8
可是在 Google Play console 看當機報告
看到的會是混淆結果
其實可以上傳 mappings
方便在 Google Play console 追蹤
既然提到 mappings
多少要了解 Proguard 有哪些產出
| https://androidversions.dev/ | |
| Android development now involves stitching together a large number of libraries and tools. | |
| This site tracks those library version numbers and produces a suggested build.gradle(.kts) |
Windows 10
Enter this in the search box along with your search terms:
Get all gists from the user santisbon.
user:santisbon
Find all gists with a .yml extension.
extension:yml
Find all gists with HTML files.
language:html
For example:
2012-01-01T00:00:00 # Convert to local
2012-01-01T00:00:00Z # Zulu/UTC...don't convert
2012-01-01T00:00:00+00:00 # Zulu/UTC...don't convert
| # no logging in production | |
| # https://medium.com/yazio-engineering/6566bc387b63 | |
| -assumenosideeffects class android.util.Log { | |
| v(...); | |
| d(...); | |
| i(...); | |
| w(...); | |
| e(...); | |
| wtf(...); | |
| println(...); |
當執行 ssh-add 時
ssh-add ~/.ssh/<private_key_file>
如果出現錯誤訊息: Could not open a connection to your authentication agent.
執行進入 ssh bash ,就能正執行 ssh-add
ssh-agent bash
會報 IllegalArgumentException 係因為
/**
* Add a header with the specified name and value. Does validation of header names and values.
*/
fun add(name: String, value: String) = apply {
checkName(name)
checkValue(value, name)
addLenient(name, value)
}override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)Since Kotlin 1.1, you can access a property delegate directly using .getDelegate().
You can write an extension property for a property reference that checks that it has a Lazy delegate that has already been initialized:
/**
* Returns true if a lazy property reference has been initialized, or if the property is not lazy.
*/
val KProperty0<*>.isLazyInitialized: Boolean
get() {