繁体   English   中英

Android系统如何在手机上安装的应用程序中找到sdk信息?

[英]How does Android system find sdk info in app that installed on the phone?

我想知道apk瞄准的目标,我使用apktool反编译apk文件,但是我无法在反编译的apk文件中找到sdk信息,而只能在apktool.yml文件中找到,如下所示:

sdkInfo:  
  minSdkVersion: '14'  
  targetSdkVersion: '23' 

我想知道Android系统在哪里可以找到手机中安装的APK中的信息? 为什么在反编译文件中找不到信息?


更新:

在反编译的AndroidManifest.xml文件中有可疑信息,但与apktool.yml文件中的信息一致。

提前致谢。

AndroidManifest.xml文件包含以下值:

minSdkVersion targetSdkVersion

https://ibotpeaches.github.io/Apktool/

使用apktool解码您的APK文件。

以下命令将在apk文件中打印出Android清单的xmltree:

aapt dump xmltree file.apk AndroidManifest.xml

样本输出:

N: android=http://schemas.android.com/apk/res/android
  E: manifest (line=17)
    A: android:versionCode(0x0101021b)=(type 0x10)0x7
    A: android:versionName(0x0101021c)="2.1-update1" (Raw: "2.1-update1")
    A: package="com.android.spare_parts" (Raw: "com.android.spare_parts")
    E: uses-sdk (line=0)
      A: android:minSdkVersion(0x0101020c)=(type 0x10)0x7
      A: android:targetSdkVersion(0x01010270)=(type 0x10)0x7
    E: uses-permission (line=19)
      A: android:name(0x01010003)="android.permission.SET_ANIMATION_SCALE" (Raw: "android.permission.SET_ANIMATION_SCALE")
    E: uses-permission (line=20)
      A: android:name(0x01010003)="android.permission.CHANGE_CONFIGURATION" (Raw: "android.permission.CHANGE_CONFIGURATION")
    E: uses-permission (line=21)
      A: android:name(0x01010003)="android.permission.WRITE_SETTINGS" (Raw: "android.permission.WRITE_SETTINGS")
    E: application (line=23)
      A: android:label(0x01010001)=@0x7f060000
      A: android:icon(0x01010002)=@0x7f020000
      E: activity (line=26)
        A: android:name(0x01010003)="SpareParts" (Raw: "SpareParts")
        E: intent-filter (line=27)
          E: action (line=28)
            A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
          E: category (line=29)
            A: android:name(0x01010003)="android.intent.category.DEFAULT" (Raw: "android.intent.category.DEFAULT")
          E: category (line=30)
            A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")

在这里,您可以在第7和8行看到minSdkVersion和targetSdkVersion。 资源

您可以在应用程序/主模块级别的build.gradle文件中找到它。

在下面的部分

android {
    compileSdkVersion 23
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId "yourApplicationPackage"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
}

minSdkVersion 14

targetSdkVersion 23

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM