public class CopyAppActivity extends Activity {
/** Called when the activity is first created. */
private static final String outFile = "sdcard/backups/"; //备份apk目录
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
copyFiles();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setContentView(R.layout.main);
}
static String getFileName(String fullName) {
if (fullName == null) {
return null;
}
int idx = fullName.lastIndexOf('/');
if (idx == -1) {
return fullName;
}
return fullName.substring(idx + 1);
}
public void copyFiles() throws Exception {
final PackageManager pm = getPackageManager();
List<ApplicationInfo> allApps = pm.getInstalledApplications(0);
final List<ApplicationInfo> filteredApps = filterApps(allApps);
for (int i = 0, size = filteredApps.size(); i < size; i++) {
ApplicationInfo info = filteredApps.get(i);
String src = info.sourceDir;//获取apk所在路径
if (src != null) {
FileStraeamCopy(src,outFile);
}
}
}
/*
* 获取用户安装的软件list
*/
public static List<ApplicationInfo> filterApps(List<ApplicationInfo> apps) {
if (apps == null || apps.size() == 0) {
return apps;
}
List<ApplicationInfo> userApps = new ArrayList<ApplicationInfo>();
for (int i = 0, size = apps.size(); i < size; i++) {
ApplicationInfo ai = apps.get(i);
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
userApps.add(ai);
}
}
return userApps;
}
/**
* io拷贝
*
* @param inFile
* 源文件
* @param outFile
* 目标文件
* @return
* @throws Exception
*/
public static void FileStraeamCopy(String inFile, String outFile)
throws Exception {
try {
File file = new File(outFile); /* 创建临时文件 */
if (!file.exists())// 如果文件夹不存在创建
{
file.mkdir();
}
File files = new File(outFile + getFileName(inFile));// 创建文件
file.getAbsolutePath();
/* 将文件写入暂存盘 */
FileOutputStream fos = new FileOutputStream(files);
byte buf[] = new byte[128];
InputStream fis = new BufferedInputStream(new FileInputStream(
inFile), 8192 * 4);
do {
int numread = fis.read(buf);
if (numread <= 0) {
break;
}
fos.write(buf, 0, numread);
} while (true);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
在上面的示例代码中,使用了openDatabase方法来打开dictionary.db文件,如果该文件不存在,系统会自动创建/sdcard/dictionary目录,并将res\raw目录中的dictionary.db文件复制到/sdcard/dictionary目录中。...
自己开发的安卓端实时视频烟雾火焰检测apk,基于深度学习,识别率还行。能同时检测出烟雾和火焰,用不同的颜色同时框出烟雾和火焰。...欢迎测试 使用方法: 1:安装apk 2:将model1文件夹拷贝到sdcard目录
1、在网上下载对应版本的原始STK.apk文件,将其拷贝到“/sdcard/SystemAppBackup/”里面; 2、在手机上安装“系统程序卸载器 ”(市场上去下载即可); 3、安装后打开软件,选择‘恢复应用’,必须要root. 4、从列表...
这些文件不会被编译到APK的资源ID中,而是保持其原始状态,需要通过`AssetManager`来访问。`AssetManager`是一个系统服务,可以从应用程序的上下文中获取,通常是通过`Context`的`getAssets()`方法。 要从Assets...
3、下载压缩包,先在电脑上解压得到NaviOne文件夹并拷贝到手机的SD卡根目录下 4、压缩包内安装必看\apk目录下有kldttt-A.apk、kldttt-B.apk、kldttt-C.apk,根据手机型号或外卡名安装(文件管理,看看你的内存卡路径...
然后,格式化手机内置的 8G/16G,并将 ZIP 刷机包和 LidroidROMTools.apk ROM 力桌定制器拷贝到内置根目录,并将 ZIP 包改名为 update.zip。 步骤 13-14:安装 ROM 力桌定制器 安装 LidroidROMTools.apk ROM 力桌...
adb push app sdcard/temp/ (把您adb目录下app文件夹中的所有内容拷贝到手机sd卡temp目录中) adb shell (看提示符,是不是已经变成$了?) su (嗯,这下变成#了吧?) 好啦,为了防止出错,有经验的同学...
4.将要安装的jar文件拷贝到SD卡根目录. 5.安装好后在手机的菜单中就会看到java的程序. 6.双进"java"进入后,就会看到Sdcard目录.这时候点击手机的"Menu"键,在下方的菜单中选择"存储卡"这时候就会列出所有的JAR程序....
- 自Android 7.0开始,安装APK不再支持从外部存储直接安装,需要将APK拷贝到内部存储或者使用`FileProvider`来提供访问权限。 - 对于Android 8.0及以上版本,应用安装时可能会遇到后台执行限制,需要在前台服务或者...
android4.0浏览器在eclipse中编译的方法: ...先备份/system/app/Browser.apk和Browser.odex,拷贝到/sdcard即可。 删除/system/app/Browser.apk和Browser.odex,重启机器。 安装BrowserEclipse.apk,查看效果。
5. 从设备拷贝文件到电脑: 使用`adb pull <远程路径> <本地路径>`,如`adb pull /sdcard/Download/file.txt E://`,将设备上的文件拉取到电脑。 6. 查看应用程序信息: - `adb shell ps`列出当前运行的所有进程...
2. **数据传输**:使用`adb push`和`adb pull`命令可以在电脑与设备之间传输文件,这对于安装APK、拷贝日志或者数据备份非常实用。 3. **进程管理**:`adb shell`命令可以让你进入设备的shell环境,执行各种系统级别...
开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了 43 家。 移动手机联盟创始成员: Aplix 、 Ascender 、 Audience 、 Broadcom 、中国移动、 eBay 、 Esmertec 、谷歌、...
// 文件的常规操作如普通上传、下载、拷贝、删除等,与Data类一致,故这里只给出断点下载和断点上传的demo resumableDownloadWithSpecConfig(); // delay(); // resumableUpload(); // delay(); // ...