这是indexloc提供的服务,不要输入任何密码
Skip to content

Smali filenames generated that easily exceed MAX_PATH #541

@Magendanz

Description

@Magendanz

Looking through the smali files created from synthetic classes, some of these are extremely long and push up against the 249 character limit in ClassFileNameHandler.

For example, when decoding a typical /framework/services.jar:

  • ConnectivityService$-void__init__android_content_Context_context_android_os_INetworkManagementService_netManager_android_net#_statsService_android_net_INetworkPolicyManager_policyManager_android_net_metrics_IpConnectivityLog_logger_LambdaImpl0.smali
  • AccountManagerService$-boolean_removeAccountInternal_com_android_server_accounts_AccountManagerService$UserAccounts_accounts_android_accounts_Account_account_int_callingUid_LambdaImpl0.smali
  • SyncManager$-void_scheduleSync_android_accounts_Account_requestedAccount_int_userId_int_reason_java_lang_String_requestedAuthority_android_os_Bundle_extras_int_targetSyncState_long_minDelayMillis_LambdaImpl0.smali
  • DreamController$DreamRecord$-void__init__com_android_server_dreams_DreamController_this$0_android_os_Binder_token_android_con#nt_ComponentName_name_boolean_isTest_boolean_canDoze_int_userId_android_os_PowerManager$WakeLock_wakeLock_LambdaImpl0.smali
  • ShortcutService$LocalService$-java_util_List_getShortcuts_int_launcherUserId_java_lang_String_callingPackage_long_changedSinc#kageName_java_util_List_shortcutIds_android_content_ComponentName_componentName_int_queryFlags_int_userId_LambdaImpl0.smali

As you can see, these suckers are huge and quickly eat up the 260 characters (MAX_PATH) available in Windows to address a file. I can't open these files in File Explorer by double-clicking them, even when just on my desktop (C:\Users\Chad\Desktop). For that, I've got to move them much closer to the root.

More importantly, I can't edit them in Visual Studio 2017 or search their contents using Find in Files.

files.txt
services.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions