2015-01-26 2 views
-5

교육 목적으로 많은 응용 프로그램을 디 컴파일 한 후 각 응용 프로그램마다 a.class b.class c.class와 같은 클래스가 포함되어 있다는 것을 알게되었습니다.이 응용 프로그램에는 Whatsapp, Instagram, Facebook 등이 있습니다.왜이 Android 앱에 수업이 너무 많습니까?

자습서에서 나는 안드로이드 프로그래밍에 대해 지켜 보았지만 이러한 알파벳 클래스는 전혀 발견하지 못했습니다.

왜 만들어 졌습니까?

+0

코드의 한 라인은 무엇입니까 것을? 사용되는 클래스는 어디에 있습니까? –

+0

사용중인 디 컴파일러는 발견 한 모든 내부 클래스마다 클래스를 생성합니다. –

+0

저는 dexplorer를 사용합니다 ... 내 응용 프로그램을 디 컴파일 할 때 잘 작동합니다. – user3560264

답변

3

찾고있는 코드가 난독 화되었습니다. 프로 그램과 SDK가 Proguard를 사용하는 것이 일반적입니다. Proguard는 생성 된 최종 jar/dex에 대한 코드를 축소, 난독 화 및 최적화하는 데 사용됩니다.

기본적으로 Proguard는 알파벳 문자 만 사용하여 클래스 이름, 메소드 이름 및 변수 이름을 자동으로 추출, 이름 바꾸기 및 조작합니다. Proguard에 실제로 그릴 이름 목록을 제공 할 수는 있지만 제 경험상 대부분의 개발자는 알파벳순 기본값을 그대로 사용합니다. Proguard와에

상세 정보 :
http://developer.android.com/tools/help/proguard.html
http://proguard.sourceforge.net/

+0

Thx 많이 원했던 정확하게 원한다. – user3560264

관련 문제