不用android类库,只是在纯java环境下从apk文件中获取应用程序的名称。
当然用到aapt.exe(可到android sdk中找)将其放在工程的src目录下。
代码如下:
public class GetApkInfo {
public static void main(String[] args) {
String apkName =
GetApkInfo.getApkName("G:\\test\\com.android.WuxiBus.apk",
"./src/");
System.out.println(apkName);
}
public static String getApkName(String apkPath, String aaptPath) {
String apkName = "";
try {
Runtime rt = Runtime.getRuntime();
String order = aaptPath + "aapt.exe" + " d badging \"" + apkPath + "\"";
Process proc = rt.exec(order);
InputStream inputStream = proc.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
String line = null;
while((line = bufferedReader.readLine()) != null){
if(line.contains("application:")){
String str1 =
line.substring(line.indexOf("'")+1);
String str2 = str1.substring(0,
str1.indexOf("'"));
System.out.println(str2);
break;
}
}
} catch (Throwable e) {
e.printStackTrace();
}
return apkName;
}
}