투케이2K

915. (Android/Java) [유틸 파일] getAppCompileSdkVersion : 특정 앱 Compile Sdk 버전 확인 본문

Android

915. (Android/Java) [유틸 파일] getAppCompileSdkVersion : 특정 앱 Compile Sdk 버전 확인

투케이2K 2024. 12. 9. 18:45

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin


- 개발 툴 : AndroidStudio


- 기술 및 구분 : 유틸 파일 / getAppCompileSdkVersion / 특정 앱 Compile Sdk 버전 확인

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getAppCompileSdkVersion : 특정 앱 Compile Sdk 버전 확인
// -----------------------------------------------------------------------------------------
@RequiresApi(Build.VERSION_CODES.S)
public static int getAppCompileSdkVersion(Context mContext, String packageName) {

    /**
      * // -----------------------------------------
      * [getAppCompileSdkVersion 메소드 설명]
      * // -----------------------------------------
      * 1. 특정 앱 Compile Sdk 버전 확인
      * // -----------------------------------------
      * 2. 호출 방법 :
      *
      * if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
      *      C_App.getAppCompileSdkVersion(A_Main.this, "com.example.kotlinproject");
      * }
      * // -----------------------------------------
      * 3. 리턴 데이터 :
      *
      * build.gradle 에 설정 된 compile sdk 버전 정보 (int / ex : 33)
      * // -----------------------------------------
      * 4. 필요 설정 : AndroidManifest.xml 파일
      *
      * <queries>
      *    <package android:name="com.example.kotlinproject" />
      * </queries>
      * // -----------------------------------------
      * */


    // [리턴 변수 선언]
    int returnData = -1;
    String M_LOG = "";


    // [로직 처리 실시]
    try {

        // [인풋 데이터 널 체크]
        if (mContext != null && C_Util.stringNotNull(packageName) == true){

            try {

                // [PackageInfo 선언]
                PackageInfo pi = null;

                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
                    pi = mContext.getPackageManager().getPackageInfo(packageName, PackageManager.PackageInfoFlags.of((long) 0));
                }
                else {
                    pi = mContext.getPackageManager().getPackageInfo(packageName, 0);
                }

                ApplicationInfo appInfo = pi.applicationInfo;

                M_LOG += "\n" + "packageName : " + String.valueOf(packageName);
                M_LOG += "\n" + "compileSdkVersion : " + String.valueOf(appInfo.compileSdkVersion);

                returnData = appInfo.compileSdkVersion;
            }
            catch (Exception eq){
                eq.printStackTrace();
                M_LOG = "[Exception] : " + String.valueOf(eq.getMessage());
            }

        }
        else {
            M_LOG = "[Error] : Input Data Is Null";
        }

    } catch (Exception e) {
        S_Log._printStackTrace_(mContext, S_FinalData.LOG_BUG_STATE, null, e);
    }


    // [로그 출력 실시]
    ///*
    // ===============================================================
    S_Log._D_("특정 앱 Compile Sdk 버전 확인", new String[]{
            "M_LOG :: " + String.valueOf(M_LOG),
            "RETURN :: " + String.valueOf(returnData)
    });
    // ===============================================================
    // */


    // [리턴 반환 실시]
    return returnData;
}

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------

===================================================================
[LOG :: CLASS PLACE :: C_App.getAppCompileSdkVersion]
----------------------------------------------------
[LOG :: NOW TIME :: 2024-12-08 18:15:59 일요일]
----------------------------------------------------
[LOG :: DESCRIPTION :: 특정 앱 Compile Sdk 버전 확인]
----------------------------------------------------
[LOG :: M_LOG :: 
packageName : com.example.kotlinproject
compileSdkVersion : 33]
----------------------------------------------------
[LOG :: RETURN :: 33]
===================================================================

// --------------------------------------------------------------------------------------

 

반응형
Comments