docs: record KIOSK cleanup results and verification evidence
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
> Task :app:preBuild UP-TO-DATE
|
||||
> Task :app:preDebugBuild UP-TO-DATE
|
||||
> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
|
||||
> Task :app:checkKotlinGradlePluginConfigurationErrors SKIPPED
|
||||
> Task :app:dataBindingMergeDependencyArtifactsDebug UP-TO-DATE
|
||||
> Task :app:generateDebugResValues UP-TO-DATE
|
||||
> Task :app:generateDebugResources UP-TO-DATE
|
||||
> Task :app:mergeDebugResources UP-TO-DATE
|
||||
> Task :app:packageDebugResources UP-TO-DATE
|
||||
> Task :app:parseDebugLocalResources UP-TO-DATE
|
||||
> Task :app:dataBindingGenBaseClassesDebug UP-TO-DATE
|
||||
> Task :app:generateDebugBuildConfig UP-TO-DATE
|
||||
> Task :app:checkDebugAarMetadata UP-TO-DATE
|
||||
> Task :app:mapDebugSourceSetPaths UP-TO-DATE
|
||||
> Task :app:createDebugCompatibleScreenManifests
|
||||
> Task :app:extractDeepLinksDebug UP-TO-DATE
|
||||
> Task :app:processDebugMainManifest UP-TO-DATE
|
||||
> Task :app:processDebugManifest
|
||||
> Task :app:processDebugManifestForPackage UP-TO-DATE
|
||||
> Task :app:javaPreCompileDebug UP-TO-DATE
|
||||
> Task :app:mergeDebugShaders UP-TO-DATE
|
||||
> Task :app:compileDebugShaders NO-SOURCE
|
||||
> Task :app:generateDebugAssets UP-TO-DATE
|
||||
> Task :app:mergeDebugAssets UP-TO-DATE
|
||||
> Task :app:compressDebugAssets UP-TO-DATE
|
||||
> Task :app:checkDebugDuplicateClasses UP-TO-DATE
|
||||
> Task :app:desugarDebugFileDependencies UP-TO-DATE
|
||||
> Task :app:mergeExtDexDebug UP-TO-DATE
|
||||
> Task :app:mergeLibDexDebug UP-TO-DATE
|
||||
> Task :app:mergeDebugJniLibFolders UP-TO-DATE
|
||||
> Task :app:mergeDebugNativeLibs UP-TO-DATE
|
||||
> Task :app:stripDebugDebugSymbols UP-TO-DATE
|
||||
> Task :app:validateSigningDebug UP-TO-DATE
|
||||
> Task :app:writeDebugAppMetadata UP-TO-DATE
|
||||
> Task :app:writeDebugSigningConfigVersions UP-TO-DATE
|
||||
> Task :app:preDebugUnitTestBuild UP-TO-DATE
|
||||
> Task :app:javaPreCompileDebugUnitTest UP-TO-DATE
|
||||
> Task :app:preDebugAndroidTestBuild SKIPPED
|
||||
> Task :app:generateDebugAndroidTestResValues UP-TO-DATE
|
||||
> Task :app:extractProguardFiles UP-TO-DATE
|
||||
> Task :app:processDebugResources
|
||||
> Task :app:kspDebugKotlin UP-TO-DATE
|
||||
> Task :app:compileDebugKotlin UP-TO-DATE
|
||||
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
|
||||
> Task :app:hiltAggregateDepsDebug UP-TO-DATE
|
||||
> Task :app:hiltJavaCompileDebug UP-TO-DATE
|
||||
> Task :app:processDebugJavaRes UP-TO-DATE
|
||||
> Task :app:mergeDebugJavaResource UP-TO-DATE
|
||||
> Task :app:transformDebugClassesWithAsm UP-TO-DATE
|
||||
> Task :app:dexBuilderDebug
|
||||
> Task :app:mergeProjectDexDebug UP-TO-DATE
|
||||
> Task :app:bundleDebugClassesToRuntimeJar UP-TO-DATE
|
||||
> Task :app:bundleDebugClassesToCompileJar UP-TO-DATE
|
||||
> Task :app:kspDebugUnitTestKotlin UP-TO-DATE
|
||||
> Task :app:compileDebugUnitTestKotlin UP-TO-DATE
|
||||
> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE
|
||||
> Task :app:hiltAggregateDepsDebugUnitTest UP-TO-DATE
|
||||
> Task :app:hiltJavaCompileDebugUnitTest NO-SOURCE
|
||||
> Task :app:processDebugUnitTestJavaRes UP-TO-DATE
|
||||
> Task :app:transformDebugUnitTestClassesWithAsm UP-TO-DATE
|
||||
> Task :app:testDebugUnitTest UP-TO-DATE
|
||||
> Task :app:generateDebugAndroidTestLintModel UP-TO-DATE
|
||||
> Task :app:generateDebugLintReportModel UP-TO-DATE
|
||||
> Task :app:generateDebugUnitTestLintModel UP-TO-DATE
|
||||
> Task :app:lintAnalyzeDebug UP-TO-DATE
|
||||
> Task :app:lintAnalyzeDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:lintAnalyzeDebugUnitTest UP-TO-DATE
|
||||
> Task :app:lintReportDebug UP-TO-DATE
|
||||
|
||||
> Task :app:lintDebug FAILED
|
||||
Lint found 4 errors, 329 warnings, 8 hints. First failure:
|
||||
|
||||
/Users/hanqiu/Desktop/KIOSK/app/src/main/AndroidManifest.xml: Error: When targeting Android 13 or higher, posting a permission requires holding the POST_NOTIFICATIONS permission (usage from com.bumptech.glide.request.target.NotificationTarget) [NotificationPermission]
|
||||
|
||||
Explanation for issues of type "NotificationPermission":
|
||||
When targeting Android 13 and higher, posting permissions requires holding
|
||||
the runtime permission android.permission.POST_NOTIFICATIONS.
|
||||
|
||||
|
||||
The full lint text report is located at:
|
||||
/Users/hanqiu/Desktop/KIOSK/app/build/intermediates/lint_intermediate_text_report/debug/lintReportDebug/lint-results-debug.txt
|
||||
|
||||
> Task :app:packageDebug
|
||||
There are no .so files available to package in the APK for armeabi.
|
||||
|
||||
> Task :app:createDebugApkListingFileRedirect
|
||||
|
||||
FAILURE: Build failed with an exception.
|
||||
|
||||
* What went wrong:
|
||||
Execution failed for task ':app:lintDebug'.
|
||||
> Lint found errors in the project; aborting build.
|
||||
|
||||
Fix the issues identified by lint, or create a baseline to see only new errors.
|
||||
To create a baseline, run `gradlew updateLintBaseline` after adding the following to the module's build.gradle file:
|
||||
```
|
||||
android {
|
||||
lint {
|
||||
baseline = file("lint-baseline.xml")
|
||||
}
|
||||
}
|
||||
```
|
||||
For more details, see https://developer.android.com/studio/write/lint#snapshot
|
||||
|
||||
Lint found 4 errors, 329 warnings, 8 hints. First failure:
|
||||
|
||||
/Users/hanqiu/Desktop/KIOSK/app/src/main/AndroidManifest.xml: Error: When targeting Android 13 or higher, posting a permission requires holding the POST_NOTIFICATIONS permission (usage from com.bumptech.glide.request.target.NotificationTarget) [NotificationPermission]
|
||||
|
||||
Explanation for issues of type "NotificationPermission":
|
||||
When targeting Android 13 and higher, posting permissions requires holding
|
||||
the runtime permission android.permission.POST_NOTIFICATIONS.
|
||||
|
||||
|
||||
The full lint text report is located at:
|
||||
/Users/hanqiu/Desktop/KIOSK/app/build/intermediates/lint_intermediate_text_report/debug/lintReportDebug/lint-results-debug.txt
|
||||
|
||||
* Try:
|
||||
> Run with --stacktrace option to get the stack trace.
|
||||
> Run with --info or --debug option to get more log output.
|
||||
> Run with --scan to get full insights.
|
||||
> Get more help at https://help.gradle.org.
|
||||
|
||||
BUILD FAILED in 6s
|
||||
61 actionable tasks: 7 executed, 54 up-to-date
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"commit": "835d6ecd009ba9a607966e8b3340b840ea3b7d8a",
|
||||
"tracked_bytes": 104983844,
|
||||
"tracked_files": 565,
|
||||
"git_bytes": 63041006,
|
||||
"apks": {
|
||||
"app/build/outputs/apk/debug/\u7167\u7247\u6253\u5370\u673a_1.1.4_24_debug_20260920_1042.apk": 165813803
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,158 @@
|
||||
> Task :app:preBuild UP-TO-DATE
|
||||
> Task :app:preDebugBuild UP-TO-DATE
|
||||
> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
|
||||
> Task :app:checkKotlinGradlePluginConfigurationErrors SKIPPED
|
||||
> Task :app:dataBindingMergeDependencyArtifactsDebug
|
||||
> Task :app:generateDebugResValues
|
||||
> Task :app:generateDebugResources
|
||||
> Task :app:packageDebugResources
|
||||
> Task :app:generateDebugBuildConfig
|
||||
> Task :app:mergeDebugResources
|
||||
> Task :app:parseDebugLocalResources
|
||||
> Task :app:mapDebugSourceSetPaths
|
||||
> Task :app:checkDebugAarMetadata
|
||||
> Task :app:dataBindingGenBaseClassesDebug
|
||||
> Task :app:createDebugCompatibleScreenManifests
|
||||
> Task :app:extractDeepLinksDebug
|
||||
> Task :app:processDebugMainManifest
|
||||
> Task :app:processDebugManifest
|
||||
> Task :app:javaPreCompileDebug
|
||||
> Task :app:mergeDebugShaders
|
||||
> Task :app:compileDebugShaders NO-SOURCE
|
||||
> Task :app:generateDebugAssets UP-TO-DATE
|
||||
> Task :app:mergeDebugAssets
|
||||
> Task :app:compressDebugAssets
|
||||
> Task :app:mergeDebugJniLibFolders
|
||||
> Task :app:checkDebugDuplicateClasses
|
||||
> Task :app:validateSigningDebug
|
||||
> Task :app:writeDebugAppMetadata
|
||||
> Task :app:writeDebugSigningConfigVersions
|
||||
> Task :app:preDebugUnitTestBuild UP-TO-DATE
|
||||
> Task :app:preDebugAndroidTestBuild SKIPPED
|
||||
> Task :app:generateDebugAndroidTestResValues
|
||||
> Task :app:javaPreCompileDebugUnitTest
|
||||
> Task :app:mergeLibDexDebug
|
||||
> Task :app:extractProguardFiles
|
||||
> Task :app:mergeDebugNativeLibs
|
||||
> Task :app:dataBindingMergeDependencyArtifactsDebugAndroidTest
|
||||
> Task :app:generateDebugAndroidTestResources
|
||||
|
||||
> Task :app:stripDebugDebugSymbols
|
||||
Unable to strip the following libraries, packaging them as they are: libAMapSDK_MAP_v10_1_600.so, libandroidx.graphics.path.so, libbarhopper_v3.so, libimage_processing_util_jni.so, libmmkv.so, libneonui_shared.so, libneonuijni_public.so, librtmp-jni.so, libsurface_util_jni.so. Run with --info option to learn more.
|
||||
|
||||
> Task :app:mergeDebugAndroidTestResources
|
||||
> Task :app:processDebugAndroidTestManifest
|
||||
> Task :app:dataBindingGenBaseClassesDebugAndroidTest
|
||||
> Task :app:generateDebugAndroidTestBuildConfig
|
||||
> Task :app:checkDebugAndroidTestAarMetadata
|
||||
> Task :app:mapDebugAndroidTestSourceSetPaths
|
||||
> Task :app:javaPreCompileDebugAndroidTest
|
||||
> Task :app:mergeDebugAndroidTestShaders
|
||||
> Task :app:compileDebugAndroidTestShaders NO-SOURCE
|
||||
> Task :app:generateDebugAndroidTestAssets UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestAssets
|
||||
> Task :app:compressDebugAndroidTestAssets
|
||||
> Task :app:desugarDebugAndroidTestFileDependencies
|
||||
> Task :app:checkDebugAndroidTestDuplicateClasses
|
||||
> Task :app:mergeDebugAndroidTestJniLibFolders
|
||||
> Task :app:processDebugAndroidTestResources
|
||||
> Task :app:desugarDebugFileDependencies
|
||||
> Task :app:processDebugManifestForPackage
|
||||
> Task :app:mergeExtDexDebugAndroidTest
|
||||
> Task :app:mergeLibDexDebugAndroidTest
|
||||
> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE
|
||||
> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE
|
||||
> Task :app:validateSigningDebugAndroidTest
|
||||
> Task :app:writeDebugAndroidTestSigningConfigVersions
|
||||
> Task :app:processDebugResources
|
||||
> Task :app:mergeExtDexDebug
|
||||
|
||||
> Task :app:kspDebugKotlin
|
||||
w: [ksp] /Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/network/db/AppDatabase.kt:12: Schema export directory was not provided to the annotation processor so Room cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument by applying the Room Gradle plugin (id 'androidx.room') OR set exportSchema to false.
|
||||
w: [ksp] /Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/utils/cloud/CloudDatabase.kt:15: Schema export directory was not provided to the annotation processor so Room cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument by applying the Room Gradle plugin (id 'androidx.room') OR set exportSchema to false.
|
||||
|
||||
> Task :app:compileDebugKotlin
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/SplashActivity.kt:46:16 'var statusBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/SplashActivity.kt:47:16 'var navigationBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/common/view/SystemView.kt:42:20 'var statusBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/common/view/SystemView.kt:43:20 'var navigationBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/common/view/SystemView.kt:71:20 'var statusBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/common/view/SystemView.kt:72:20 'var navigationBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/common/view/SystemView.kt:90:24 'var statusBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/common/view/SystemView.kt:93:24 'var statusBarColor: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/face/view/FaceRecognitionResultScreen.kt:92:26 'val LocalLifecycleOwner: ProvidableCompositionLocal<LifecycleOwner>' is deprecated. Moved to lifecycle-runtime-compose library in androidx.lifecycle.compose package.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/face/view/FaceRecognitionScreen.kt:47:26 'val LocalLifecycleOwner: ProvidableCompositionLocal<LifecycleOwner>' is deprecated. Moved to lifecycle-runtime-compose library in androidx.lifecycle.compose package.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/face/view/FaceRecognitionScreen.kt:331:26 'val LocalLifecycleOwner: ProvidableCompositionLocal<LifecycleOwner>' is deprecated. Moved to lifecycle-runtime-compose library in androidx.lifecycle.compose package.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/printer/viewmodel/PrinterManageViewModel.kt:110:40 'val connectionInfo: WifiInfo!' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/printer/viewmodel/PrinterManageViewModel.kt:111:34 'val ipAddress: Int' is deprecated. Deprecated in Java.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:94:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:106:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:124:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:136:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:148:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:168:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:186:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:206:21 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:361:25 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:373:25 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:390:25 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:402:25 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/ui/setting/view/SettingScreen.kt:422:25 'fun Divider(modifier: Modifier = ..., thickness: Dp = ..., color: Color = ...): Unit' is deprecated. Renamed to HorizontalDivider.
|
||||
w: file:///Users/hanqiu/Desktop/KIOSK/app/src/main/java/com/yzx/kiosk/utils/VersionUpdateManager.kt:233:29 'field versionCode: Int' is deprecated. Deprecated in Java.
|
||||
|
||||
> Task :app:compileDebugJavaWithJavac
|
||||
|
||||
> Task :app:hiltAggregateDepsDebug
|
||||
WARNING: [Processor] Library '/Users/hanqiu/.gradle/caches/8.11.1/transforms/e35a5651747994d1c7744cf7adc1febf/transformed/core-1.15.0-api.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
|
||||
Example of androidX reference: 'androidx/core/util/Supplier'
|
||||
Example of support library reference: 'android/support/v4/app/INotificationSideChannel$Default'
|
||||
|
||||
> Task :app:hiltJavaCompileDebug
|
||||
> Task :app:processDebugJavaRes
|
||||
> Task :app:bundleDebugClassesToCompileJar
|
||||
> Task :app:generateDebugLintReportModel
|
||||
> Task :app:transformDebugClassesWithAsm
|
||||
> Task :app:kspDebugUnitTestKotlin
|
||||
> Task :app:mergeDebugJavaResource
|
||||
> Task :app:dexBuilderDebug
|
||||
> Task :app:bundleDebugClassesToRuntimeJar
|
||||
> Task :app:generateDebugAndroidTestLintModel
|
||||
> Task :app:generateDebugUnitTestLintModel
|
||||
> Task :app:mergeProjectDexDebug
|
||||
> Task :app:compileDebugUnitTestKotlin
|
||||
> Task :app:kspDebugAndroidTestKotlin
|
||||
|
||||
> Task :app:packageDebug
|
||||
There are no .so files available to package in the APK for armeabi.
|
||||
|
||||
> Task :app:createDebugApkListingFileRedirect
|
||||
> Task :app:assembleDebug
|
||||
> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE
|
||||
> Task :app:hiltAggregateDepsDebugUnitTest
|
||||
> Task :app:hiltJavaCompileDebugUnitTest NO-SOURCE
|
||||
> Task :app:processDebugUnitTestJavaRes
|
||||
> Task :app:transformDebugUnitTestClassesWithAsm
|
||||
> Task :app:compileDebugAndroidTestKotlin
|
||||
> Task :app:testDebugUnitTest
|
||||
> Task :app:compileDebugAndroidTestJavaWithJavac
|
||||
> Task :app:hiltAggregateDepsDebugAndroidTest
|
||||
> Task :app:hiltJavaCompileDebugAndroidTest NO-SOURCE
|
||||
> Task :app:processDebugAndroidTestJavaRes
|
||||
> Task :app:transformDebugAndroidTestClassesWithAsm
|
||||
> Task :app:mergeDebugAndroidTestJavaResource
|
||||
> Task :app:dexBuilderDebugAndroidTest
|
||||
> Task :app:mergeProjectDexDebugAndroidTest
|
||||
> Task :app:packageDebugAndroidTest
|
||||
> Task :app:createDebugAndroidTestApkListingFileRedirect
|
||||
> Task :app:assembleDebugAndroidTest
|
||||
> Task :app:lintAnalyzeDebugUnitTest
|
||||
> Task :app:lintAnalyzeDebugAndroidTest
|
||||
> Task :app:lintAnalyzeDebug
|
||||
|
||||
> Task :app:lintReportDebug
|
||||
Wrote HTML report to file:///Users/hanqiu/Desktop/KIOSK/app/build/reports/lint-results-debug.html
|
||||
|
||||
> Task :app:lintDebug
|
||||
|
||||
BUILD SUCCESSFUL in 1m 41s
|
||||
92 actionable tasks: 92 executed
|
||||
@@ -0,0 +1,118 @@
|
||||
> Task :app:preBuild UP-TO-DATE
|
||||
> Task :app:preDebugBuild UP-TO-DATE
|
||||
> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
|
||||
> Task :app:checkKotlinGradlePluginConfigurationErrors SKIPPED
|
||||
> Task :app:dataBindingMergeDependencyArtifactsDebug UP-TO-DATE
|
||||
> Task :app:generateDebugResValues UP-TO-DATE
|
||||
> Task :app:generateDebugResources UP-TO-DATE
|
||||
> Task :app:mergeDebugResources UP-TO-DATE
|
||||
> Task :app:packageDebugResources UP-TO-DATE
|
||||
> Task :app:parseDebugLocalResources UP-TO-DATE
|
||||
> Task :app:dataBindingGenBaseClassesDebug UP-TO-DATE
|
||||
> Task :app:generateDebugBuildConfig UP-TO-DATE
|
||||
> Task :app:checkDebugAarMetadata UP-TO-DATE
|
||||
> Task :app:mapDebugSourceSetPaths UP-TO-DATE
|
||||
> Task :app:createDebugCompatibleScreenManifests
|
||||
> Task :app:extractDeepLinksDebug UP-TO-DATE
|
||||
> Task :app:processDebugMainManifest UP-TO-DATE
|
||||
> Task :app:processDebugManifest
|
||||
> Task :app:processDebugManifestForPackage UP-TO-DATE
|
||||
> Task :app:javaPreCompileDebug UP-TO-DATE
|
||||
> Task :app:mergeDebugShaders UP-TO-DATE
|
||||
> Task :app:compileDebugShaders NO-SOURCE
|
||||
> Task :app:generateDebugAssets UP-TO-DATE
|
||||
> Task :app:mergeDebugAssets UP-TO-DATE
|
||||
> Task :app:compressDebugAssets UP-TO-DATE
|
||||
> Task :app:checkDebugDuplicateClasses UP-TO-DATE
|
||||
> Task :app:desugarDebugFileDependencies UP-TO-DATE
|
||||
> Task :app:mergeExtDexDebug UP-TO-DATE
|
||||
> Task :app:mergeLibDexDebug UP-TO-DATE
|
||||
> Task :app:mergeDebugJniLibFolders UP-TO-DATE
|
||||
> Task :app:mergeDebugNativeLibs UP-TO-DATE
|
||||
> Task :app:stripDebugDebugSymbols UP-TO-DATE
|
||||
> Task :app:validateSigningDebug UP-TO-DATE
|
||||
> Task :app:writeDebugAppMetadata UP-TO-DATE
|
||||
> Task :app:writeDebugSigningConfigVersions UP-TO-DATE
|
||||
> Task :app:preDebugUnitTestBuild UP-TO-DATE
|
||||
> Task :app:javaPreCompileDebugUnitTest UP-TO-DATE
|
||||
> Task :app:preDebugAndroidTestBuild SKIPPED
|
||||
> Task :app:generateDebugAndroidTestResValues UP-TO-DATE
|
||||
> Task :app:extractProguardFiles UP-TO-DATE
|
||||
> Task :app:dataBindingMergeDependencyArtifactsDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:generateDebugAndroidTestResources UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestResources UP-TO-DATE
|
||||
> Task :app:dataBindingGenBaseClassesDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:processDebugAndroidTestManifest UP-TO-DATE
|
||||
> Task :app:generateDebugAndroidTestBuildConfig UP-TO-DATE
|
||||
> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE
|
||||
> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE
|
||||
> Task :app:processDebugAndroidTestResources UP-TO-DATE
|
||||
> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestShaders UP-TO-DATE
|
||||
> Task :app:compileDebugAndroidTestShaders NO-SOURCE
|
||||
> Task :app:generateDebugAndroidTestAssets UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE
|
||||
> Task :app:compressDebugAndroidTestAssets UP-TO-DATE
|
||||
> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE
|
||||
> Task :app:desugarDebugAndroidTestFileDependencies UP-TO-DATE
|
||||
> Task :app:mergeExtDexDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:mergeLibDexDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE
|
||||
> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE
|
||||
> Task :app:validateSigningDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE
|
||||
> Task :app:processDebugResources
|
||||
> Task :app:kspDebugKotlin
|
||||
> Task :app:compileDebugKotlin
|
||||
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
|
||||
> Task :app:hiltAggregateDepsDebug UP-TO-DATE
|
||||
> Task :app:hiltJavaCompileDebug UP-TO-DATE
|
||||
> Task :app:processDebugJavaRes UP-TO-DATE
|
||||
> Task :app:mergeDebugJavaResource UP-TO-DATE
|
||||
> Task :app:generateDebugLintReportModel
|
||||
> Task :app:transformDebugClassesWithAsm
|
||||
> Task :app:bundleDebugClassesToCompileJar
|
||||
> Task :app:dexBuilderDebug
|
||||
> Task :app:mergeProjectDexDebug
|
||||
> Task :app:bundleDebugClassesToRuntimeJar
|
||||
> Task :app:generateDebugAndroidTestLintModel
|
||||
> Task :app:generateDebugUnitTestLintModel
|
||||
> Task :app:kspDebugUnitTestKotlin
|
||||
> Task :app:compileDebugUnitTestKotlin UP-TO-DATE
|
||||
> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE
|
||||
> Task :app:kspDebugAndroidTestKotlin
|
||||
> Task :app:hiltAggregateDepsDebugUnitTest UP-TO-DATE
|
||||
> Task :app:hiltJavaCompileDebugUnitTest NO-SOURCE
|
||||
> Task :app:processDebugUnitTestJavaRes UP-TO-DATE
|
||||
> Task :app:transformDebugUnitTestClassesWithAsm
|
||||
> Task :app:compileDebugAndroidTestKotlin
|
||||
> Task :app:testDebugUnitTest
|
||||
|
||||
> Task :app:packageDebug
|
||||
There are no .so files available to package in the APK for armeabi.
|
||||
|
||||
> Task :app:compileDebugAndroidTestJavaWithJavac UP-TO-DATE
|
||||
> Task :app:hiltAggregateDepsDebugAndroidTest UP-TO-DATE
|
||||
> Task :app:hiltJavaCompileDebugAndroidTest NO-SOURCE
|
||||
> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE
|
||||
> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE
|
||||
> Task :app:transformDebugAndroidTestClassesWithAsm
|
||||
> Task :app:createDebugApkListingFileRedirect
|
||||
> Task :app:assembleDebug
|
||||
> Task :app:dexBuilderDebugAndroidTest
|
||||
> Task :app:mergeProjectDexDebugAndroidTest
|
||||
> Task :app:packageDebugAndroidTest
|
||||
> Task :app:createDebugAndroidTestApkListingFileRedirect UP-TO-DATE
|
||||
> Task :app:assembleDebugAndroidTest
|
||||
> Task :app:lintAnalyzeDebugUnitTest
|
||||
> Task :app:lintAnalyzeDebugAndroidTest
|
||||
> Task :app:lintAnalyzeDebug
|
||||
|
||||
> Task :app:lintReportDebug
|
||||
Wrote HTML report to file:///Users/hanqiu/Desktop/KIOSK/app/build/reports/lint-results-debug.html
|
||||
|
||||
> Task :app:lintDebug
|
||||
|
||||
BUILD SUCCESSFUL in 27s
|
||||
92 actionable tasks: 29 executed, 63 up-to-date
|
||||
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"remove": [
|
||||
"app/src/main/res/mipmap-hdpi/ic_alive_details_duration.webp",
|
||||
"app/src/main/res/mipmap-hdpi/ic_alive_details_watch.webp",
|
||||
"app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp",
|
||||
"app/src/main/res/mipmap-hdpi/ic_launcher_round.webp",
|
||||
"app/src/main/res/mipmap-hdpi/ic_point_markers.png",
|
||||
"app/src/main/res/mipmap-hdpi/icon_splash.webp",
|
||||
"app/src/main/res/mipmap-mdpi/ic_alive_details_duration.webp",
|
||||
"app/src/main/res/mipmap-mdpi/ic_alive_details_watch.webp",
|
||||
"app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp",
|
||||
"app/src/main/res/mipmap-mdpi/ic_launcher_round.webp",
|
||||
"app/src/main/res/mipmap-mdpi/ic_point_markers.png",
|
||||
"app/src/main/res/mipmap-mdpi/icon_splash.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_alive_details_duration.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_alive_details_watch.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_free_traffic.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_invite_benefit_free_cloud.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_invite_benefit_free_editing.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_invite_earnings.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_invite_link.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_invite_record.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_invite_share.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_location_report.png",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_material_num.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_no_commission.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_note_printer.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_order_tools.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_photo_num.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_point_markers.png",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_preview_close.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_print_end.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_print_failed.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_pro_player_pause.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_pro_player_play.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_project_person.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_scenic_identity.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_task_user_phone.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_user_benefits.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/ic_video_number.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/icon_splash.webp",
|
||||
"app/src/main/res/mipmap-xhdpi/img_qr_admin.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_alive_details_duration.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_alive_details_watch.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_free_traffic.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_benefit_free_cloud.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_benefit_free_editing.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_consultation.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_earnings.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_link.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_record.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_invite_share.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_location_report.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_material_num.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_no_commission.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_note_printer.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_order_tools.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_photo_num.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_point_markers.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_preview_close.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_print_end.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_print_failed.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_pro_player_pause.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_pro_player_play.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_project_person.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_scenic_identity.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_data_select.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_data_unselect.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_home_selected.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_home_unselect.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_me_select.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_me_unselect.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_order_select.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_tab_order_unselect.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_task_user_phone.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_user_benefits.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/ic_video_number.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_chang_role.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_add_folder.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_current_path_arrow.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_delete.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_details.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_download.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_filter.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_item_details.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_move.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_play.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_search.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_file_share.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_folder_type.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_go_home.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_list_sort.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_show_type_list.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_show_type_table.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_cloud_storage_transit.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_data_statistics_average_amount.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_data_statistics_get_amount.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_data_statistics_refund_amount.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_data_statistics_total_amount.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_data_statistics_total_order.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_input_clear.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_payment_code_refresh.png",
|
||||
"app/src/main/res/mipmap-xxhdpi/icon_splash.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/img_qr_admin.webp",
|
||||
"app/src/main/res/mipmap-xxhdpi/img_square_error_big.png",
|
||||
"app/src/main/res/mipmap-xxxhdpi/btn_pay_success.png",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_alive_details_duration.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_alive_details_watch.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_free_traffic.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_benefit_free_cloud.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_benefit_free_editing.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_consultation.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_earnings.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_link.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_record.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_invite_share.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_location_report.png",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_material_num.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_no_commission.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_note_printer.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_order_tools.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_pay_success.png",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_photo_num.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_point_markers.png",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_preview_close.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_print_end.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_print_failed.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_pro_player_pause.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_pro_player_play.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_project_person.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_scenic_identity.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_task_user_phone.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_user_benefits.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/ic_video_number.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/icon_splash.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/img_login_bg.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/img_qr_admin.webp",
|
||||
"app/src/main/res/mipmap-xxxhdpi/img_splash.png"
|
||||
],
|
||||
"retain": [
|
||||
{
|
||||
"name": "ic_face_large",
|
||||
"references": [
|
||||
"app/src/main/java/com/yzx/kiosk/ui/home/view/HomeScreen.kt"
|
||||
],
|
||||
"sdk": false
|
||||
},
|
||||
{
|
||||
"name": "ic_upload_large",
|
||||
"references": [
|
||||
"app/src/main/java/com/yzx/kiosk/ui/home/view/HomeScreen.kt"
|
||||
],
|
||||
"sdk": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
from pathlib import Path
|
||||
import xml.etree.ElementTree as E, re, zipfile,io,json,subprocess
|
||||
root=E.parse('docs/verification/cleanup-2026-09-20/baseline-unused-resources.xml').getroot()
|
||||
# Scan source/config text and uncompressed local SDK contents for literal names.
|
||||
files=[Path(f) for f in subprocess.check_output(['git','ls-files','-z']).decode().split('\0') if f]
|
||||
texts={p:p.read_text(errors='ignore') for p in files if not str(p).startswith('docs/') and p.suffix in {'.kt','.java','.xml','.pro','.kts','.toml','.json','.html'}}
|
||||
blobs=[]
|
||||
def scan(data):
|
||||
try:
|
||||
with zipfile.ZipFile(io.BytesIO(data)) as z:
|
||||
for n in z.namelist():
|
||||
b=z.read(n)
|
||||
if n.endswith(('.jar','.aar')):scan(b)
|
||||
else:blobs.append(b)
|
||||
except zipfile.BadZipFile:blobs.append(data)
|
||||
for p in Path('app/libs').rglob('*'):
|
||||
if p.is_file():scan(p.read_bytes())
|
||||
sdk=b'\n'.join(blobs)
|
||||
remove=[];keep=[]
|
||||
for i in root.findall('issue'):
|
||||
if i.get('id')!='UnusedResources':continue
|
||||
m=re.search(r'R\.(\w+)\.(\w+)',i.get('message',''))
|
||||
if not m:continue
|
||||
typ,name=m.groups()
|
||||
# Limit this batch to standalone bitmap files, preserving all XML/value resources.
|
||||
if typ not in {'drawable','mipmap'}:continue
|
||||
variants=[p for p in files if str(p).startswith('app/src/main/res/'+typ) and p.stem==name]
|
||||
if not variants or any(p.suffix not in {'.png','.webp','.jpg','.jpeg'} for p in variants):continue
|
||||
refs=[str(p) for p,s in texts.items() if re.search(r'(?<![\w])'+re.escape(name)+r'(?![\w])',s)]
|
||||
if refs or name.encode() in sdk:keep.append({'name':name,'references':refs,'sdk':name.encode() in sdk});continue
|
||||
remove.extend(str(p) for p in variants)
|
||||
r={'remove':sorted(set(remove)),'retain':keep}
|
||||
# Read-only audit; run on the baseline checkout to reproduce the candidate list.
|
||||
print(json.dumps(r,ensure_ascii=False,indent=2))
|
||||
print('Safe bitmap candidates:',len(r['remove']),'bytes:',sum(Path(p).stat().st_size for p in r['remove']))
|
||||
print('Retained:',keep)
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"lint": {
|
||||
"Error": 0,
|
||||
"Warning": 257,
|
||||
"Hint": 8
|
||||
},
|
||||
"tests": {
|
||||
"tests": 44,
|
||||
"failures": 0,
|
||||
"errors": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"apk_bytes": 157461968,
|
||||
"implementation_commit": "e6b671ef7671820de08ec5df4557c4f2a5618ada",
|
||||
"devices": [],
|
||||
"implementation_tracked_bytes": 101792596,
|
||||
"git_bytes_before_document_commit": 62953645
|
||||
}
|
||||
Reference in New Issue
Block a user