我需要找到一种定位文件的方法(例如:" xxx.apk") 如果它存在于系统目录或其子目录中的android设备上。
找不到并找不到。
我无法使用busybox或任何其他市场应用程序。
试过这个:
ls -laR | grep "xxx.apk"
它可以判断文件是否存在,但不会打印其位置。
你能帮我解决这个问题吗?
从我的角度来看,批处理,shell或Java脚本是最好的解决方案
更新 我编写了java应用程序,用于搜索由@sjoy代码创建的SystemApp.txt中的文件。 我仍然在java编程中更好,所以也许它不漂亮,但它的工作原理。 谢谢大家的帮助。
粘贴下面的代码,也许对某人有帮助。
------
private static int i=0;
private static String file="XXX.apk";
private static boolean found=false;
private static String result;
public static void main (String []args ){
ArrayList<String>lines = new ArrayList<String>();
File f0 = new File ("src/SystemApp.txt");
try {
Scanner scaner = new Scanner(f0);
while (scaner.hasNext()){
lines.add(scaner.next());
if (file.equals(lines.get(i))){
while (found==false){
if (lines.get(i).contains("/")){
result=lines.get(i).substring(0,lines.get(i).length()-1)+"/"+file;
System.out.println(result);
found=true;
}else{
i--;
}
}
}else{
i++;
}
}
if (found==false){
System.out.println(file+" not found");
}
} catch (FileNotFoundException ex) {
Logger.getLogger(Find.class.getName()).log(Level.SEVERE, null, ex);
}
}
答案 0 :(得分:0)
听起来你愿意手动搜索打印的输出 - 大多数文件都是apk,jar,so或odex - 所以...
此批处理文件将/ system中所有文件的名称写入桌面上的SystemApp.txt。目录列出如此/system/app
,后面是目录中的所有文件。
@echo off
:: Just to confirm you're connected
adb devices
:: Write everything in /system to SystemApp.txt
adb shell ls -R "/system" > SystemApp.txt
exit
答案 1 :(得分:-1)
以下是&#34; find&#34;命令获取所有apk和路径名称。
find "$(cd /; pwd)" -name "*.apk"