SDK stands for Software Development Kit. It is a set of software development tools. This set is used for creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system or similar platform.
It may be something as simple as an application programming interface in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an IDE. SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material.
Framework (Software Framework) is basically a platform which is used for developing software applications. It provides the necessary foundation on which the programs can be developed for a specific platform.
A framework in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality. Frameworks are similar to software libraries in that they are reuseable abstractions of code wrapped in a well-defined API.
Unlike libraries, however, the overall program's flow of control is not dictated by the caller, but by the framework. This inversion of control is the distinguishing feature of software frameworks.