Skip to content

Project Analyzer & Dependency Optimizer #1125

@aman-khan-786

Description

@aman-khan-786

Issue Checklist

  • I confirm that this feature request has not been previously suggested.
  • I agree to follow the project's code of conduct.
  • I have checked and verified that I am using the latest version of Code on the Go from GitHub or App Dev for All.

Additional terms

  • I understand that feature requests are subject to evaluation and may not be implemented immediately.
  • I agree to provide additional details if needed for a clearer understanding of the requested feature.

Feature description

A dedicated UI module (Project Info) within the IDE to manage project "Health" and "Readiness," specifically fighting "Bloat."
Key Features:

  1. Dependency Optimizer: Cross-references build.gradle declarations with actual import statements. Flags unused libraries for one-click removal.
  2. Project Tree Export: A tool to copy the entire file structure as a text tree (Project Analyzer UI) to simplify community debugging.
  3. Optimization Insights: Provides a summary of heavy dependencies that might crash low-end devices. The scanning logic uses a lightweight parser to ensure it doesn't overload the mobile CPU.

Use Case

Preventing Build-Time OOM (Out of Memory) Crashes: As projects grow, developers often accumulate "test" or unused dependencies. On mobile devices with limited RAM (especially 32-bit), this "bloat" directly leads to OOM crashes during the Dexing phase. This tool identifies unused libraries for removal. Additionally, the text-based "Project Tree" simplifies community-led debugging when users ask for help, avoiding the need to share full project ZIPs.

Benefits

  • Reduced APK Size: Helps keep projects lean and optimized by removing junk.
  • Faster Compilation: Fewer dependencies mean a shorter build path.
  • Community Support: The "Tree Copy" feature allows users to share project structures instantly on Telegram/GitHub issues without sending large files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions