Less than 1 minute
- References202
- Youtube186
- Article(s)158
- Linux79
- Github59
- DevOps57
- Python55
- Node.js50
- Shell48
- Java44
- Snippets42
- AI35
- Kotlin31
- VM28
- Tips25
- Productivity23
- Microsoft22
- CSS22
- IDE22
- Debian21
- Gradle19
- Google17
- SQL16
- Android16
- Jetbrains16
- Security15
- Swift15
- Design14
- API14
- Hardware13
- Go13
- Powershell13
- Explore11
- Troubleshooting11
- Fedora11
- Erlang11
- LLM10
- Docker10
- Basics10
- Git10
- WAS10
- Rust10
- PHP10
- Browser10
- Plugins10
- IaC9
- C#9
- Science8
- Meta8
- Query8
- Load Test8
- Environment Setup8
- Windows8
- Spring8
- Microsoft Office8
- VSCode8
- SCU7
- COEN0207
- Computer Engineering7
- Oracle7
- iOS7
- JavaScript7
- React.js7
- Relational Database6
- DB6
- MySQL6
- PostgreSQL6
- Container6
- Gitlab6
- macOS6
- Raspberry Pi6
- Batchfile6
- C6
- Dart6
- Vue.js6
- TypeScript6
- Intellij Idea6
- PyCharm6
- Notion6
- NeoVim6
- Vim6
- Visual Studio6
- Project5
- Cubrid5
- Confluence5
- Jira5
- Terraform5
- Tomcat5
- Wildfly5
- Common Lisp5
- C++5
- Elixir5
- RabbitMQ5
- Godot Engine5
- Haskell5
- Kafka5
- Quarkus5
- Svelte.js5
- Julia5
- LaTeX5
- Lua5
- Matlab5
- Maven5
- Celery5
- Django5
- FastAPI5
- Flask5
- Jupyter5
- Locust5
- Scala5
- Zig5
- Lifeguide5
- Google Chrome5
- Figma5
- Firefox5
- Sketch5
- Slack5
- Data Science4
- Computer4
- Engineering4
- Finance4
- Mathematics4
- Marketing4
- Physics4
- Project Management4
- System4
- Claude4
- Gemini4
- Github Copilot4
- LangChain4
- Llama4
- OpenAI4
- ChatGPT4
- Perplexity4
- Cassandra4
- CLI4
- DuckDB4
- GraphQL4
- Hadoop4
- MongoDB4
- Microsoft SQL Server4
- R4
- Redis4
- RocksDB4
- Spark4
- Splunk4
- SQLite4
- Ansible4
- Amazon4
- AWS4
- Azure4
- Gatling4
- Google Cloud4
- News4
- Jenkins4
- JMeter4
- Kubernetes4
- Karate4
- Linode4
- NixOS4
- NCloud4
- Nexus Repository4
- NGINX4
- Playwright4
- Podman4
- JWT4
- OAuth24
- Selenium4
- CI4
- Travis CI4
- Vagrant4
- Vercel4
- Flipper Zero4
- NAS4
- Blazor4
- Tailwind CSS4
- Grafana4
- Prometheus4
- Crashcourse4
- Armeria4
- Elasticsearch4
- Angular.js4
- Gatsby4
- Mermaid.js4
- Nest.js4
- Next.js4
- Storybook.js4
- Supabase4
- Markdown4
- NPM4
- Objective-C4
- OCaml4
- Keras4
- Pandas4
- TensorFlow4
- PyTorch4
- Qt4
- Ruby4
- Solidity4
- Career4
- awk4
- curl4
- DaVinci Resolve4
- Video Editing4
- DBeaver4
- Google Drive4
- Writerside4
- nmap4
- Obsedian4
- rsync4
- Sublime Text4
- Excel4
- Kakao4
- YouTube3
- Altibase3
- CockroachDB3
- KVM3
- Debain3
- OCI3
- Openshift3
- oVirt3
- HTTP3
- Proxmox3
- QEMU3
- Virtualbox3
- Web Server3
- WebtoB3
- Watch Later3
- Arduino3
- Laravel3
- Airflow3
- NumPy3
- Cook3
- Travel3
- Airtable3
- crontab3
- ffmpeg3
- Power BI3
- PowerPoint3
- Safari3
- Tableau3
- tmux3
- wget3
- Wireshark3
- Network3
- Xcode3
- Alpine3
- Kali Linux3
- Parrot OS3
- TrueNAS3
- Ubuntu3
- CentOS3
- Rocky Linux3
- Tibero2
- Appium2
- Devops2
- Docker Compose2
- Portfolio2
- Tutorial2
- GitLab2
- 🦖JEUS2
- RegEx2
- Regex2
- Dracula2
- Coupang2
- Geolocation2
- SK2
- Interview2
- Academics1
- 🌟Area1
- Awesome List1
- Study1
- Programming1
- Tool1
- Hugging Face1
- Favorite Container(s)1
- Github Action1
- Library1
- GitLab Runner1
- GeoLocation1
- 👽oVirt1
- Test1
- Skopeo1
- Internet Explorer1
- WSL1
- List1
- Keynote1
- Cpp1
- Flutter1
- Log4j1
- Singleton1
- WebService1
- adb1
- Proguard1
- Gradle Snippets1
- Jetpack Compose1
- Kotlin Snippets1
- jQuery1
- SPM-GL-011
- 🤖Cordova1
- 🏖️Sandbox1
- Referencesse1
- Scripts to Convert Files1
- Scripts to Manage Computers1
- Various Powershell Scripts1
- 💉Dependency Injection1
- NHIS1
- My Roadmap1
- Asia1
- Hotkey1
- JDBC1
- Query Template1
- settings.json1
- 푸시알람1
- DotNet1
- Interview Prep1
- Powerpoint1
- XCode1
Less than 1 minute
구성
- client: development machine에서 동작. shell에서 client를 invocation해서 command 실행 가능. ADT, DDMS도 client
- server: development machine의 background process이며, client와 daemon 사이에서의 communication을 관리
- daemon: 각각의 device에서 동작하는 background process
client를 시작하면, ADB server가 실행중인지 확인해서 실행중이지 않으면 server를 시작시킨다. server가 시작되면 TCP의 5037 port로 binding해서 adb client로부터의 command를 받아들이는데, 모든 client는 server와 communication 하기 위해 5037 port를 사용.
About 3 min
Less than 1 minute
Android
Less than 1 minute
Favorite(s)
Less than 1 minute
Tip
shrinkResources
명령어를 통해서 난독화 과정에서 사용하지 않는 리소스를 제거 할수 있습니다.
리소스 축소는 코드 축소와 함께만 동작 합니다. 모든 미사용 코드를 제거후 앱에서 사용되지 않는 리소스를 식별 할수 있습니다.
Proguard Rule 사용방법
Proguard 룰은 필요한것과 불필요한것을 분리 할수 있습니다. 다른 라이브러리 추가시 난독화가 불필요한경우 제거를 해주어야 합니다. 여러 주요 옵션이 많이 있지만 자주 쓰이는 옵션만 정리 하겠습니다.
Less than 1 minute
A. assembleRelease
Task를 위한 signingConfigs
최소구성
title | description |
---|---|
목적 | Signing처리 된 Android APK 생성 ( |
적업대상 gradle 파일 |
./<최종 Android모듈>/build.gradle |
Less than 1 minute
Selectable Component
MainActivity.kt
class MainActivity: ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ColorPicker()
}
}
}
@Composable
fun ColorPicker() {
val colors = listOf(
Color(0xfff9a825),
COlor(0xffff3d00),
Color(0xff4caf50),
Color(0xff9c27b0),
Color(0xff2196f3))
val currentColor = remember { mutableStateOf(colors[0]) }
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arragement.Center,
modifier = Modifier.fillMaxSize()
) {
Row {
colors.forEach { color ->
val isSelected = currentColor.value == color
Box (
modifier = Modifier.padding(4.dp)
.size(50.dp)
.clip(CircleShape)
.background(color)
.selectable(
selected = isSelected,
onClick = { currentColor.value = color }
)
) {
if (currentColor.value == color) {
Icon(imageVector = Icons.Filled.Done,
contentDescription = "Done",
tint = Color.White
modifier = Modifier.align(Alignment.Center))
}
}
}
}
Text (
text = "TEXT",
color = currentColor.value,
fontSize = 27.sp
)
}
}
Less than 1 minute