Production cleanup: enable R8, add ProGuard rules, validate API input
- Enable R8 minification and resource shrinking for release builds - Add ProGuard keep rules for Ktor, kotlinx.serialization, Room - Validate hour/minute range in POST /set endpoint - Guard wake lock release on server start failure - Remove unused template colors from colors.xml - Rewrite README with curl examples, security note, troubleshooting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5ad7c6cee8
commit
6032e9fd07
5 changed files with 103 additions and 55 deletions
42
app/proguard-rules.pro
vendored
42
app/proguard-rules.pro
vendored
|
|
@ -1,21 +1,27 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
# Ktor — keep CIO engine and routing
|
||||
-keep class io.ktor.** { *; }
|
||||
-keepclassmembers class io.ktor.** { *; }
|
||||
-dontwarn io.ktor.**
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
# kotlinx.serialization — keep @Serializable classes
|
||||
-keepattributes *Annotation*, InnerClasses
|
||||
-dontnote kotlinx.serialization.AnnotationsKt
|
||||
-keepclassmembers @kotlinx.serialization.Serializable class ** {
|
||||
*** Companion;
|
||||
}
|
||||
-keepclasseswithmembers class ** {
|
||||
kotlinx.serialization.KSerializer serializer(...);
|
||||
}
|
||||
-keep,includedescriptorclasses class com.example.helios_alarm_clock.**$$serializer { *; }
|
||||
-keepclassmembers class com.example.helios_alarm_clock.** {
|
||||
*** Companion;
|
||||
}
|
||||
-keepclasseswithmembers class com.example.helios_alarm_clock.** {
|
||||
kotlinx.serialization.KSerializer serializer(...);
|
||||
}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
# Room — keep entities
|
||||
-keep class com.example.helios_alarm_clock.data.AlarmEntity { *; }
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
# SLF4J (Ktor dependency) — suppress missing impl warnings
|
||||
-dontwarn org.slf4j.**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue