内网离线安装android studio并且构建android 项目
根据https://www.cnblogs.com/yxliu/p/10004765.html,自己总结了一下
1 用一台在线电脑 需要准备一下资源
caches:为安装过程和新建项目过程中,下载的缓存文件
android-studio-ide.zip:为android studio安装包,解压即可
gradle-4.6-all.zip:为编译工具
Sdk.rar:SDK工具包,包括开发安装所需要的版本等信息
2 安装android-studio-ide,SDK工具包
将gradle-4.6-all.zip放到.gradle缓存对应的位置
3.gradle缓存文件不能直接拷贝使用
因为gradle从maven下载jar时根据本机的绝对路径 所以生成.gradle缓存文件不能直接拷贝使用
4解决包文件夹路径转换问题,
将Android中使用的gradle缓存目录中files-2.1文件夹下的jar包重新处理路径,用于内网离线构建
该java文件android studio可以直接运行
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by zrj on 2019-08-20
* 将Android中使用的gradle缓存目录中的jar包重新处理路径,用于内网离线构建
*/
public class FileTest {
//原文件名字
static String stopName = "files-2.1";
//原文件路径
static String path = "/Users/zrj/Downloads/files-2.1";
//处理后文件路径
static String sourePath = "/Users/zrj/Downloads/test/";
public static void main(String[] args) {
System.out.println("Begin to copy");
processDotForld();
copyToLastForld();
System.out.println("Copy finished");
}
public static void start() {
//LDLogger.e("Copy finished");
processDotForld();
copyToLastForld();
//LDLogger.e("Copy finished");
}
/**
* * 处理文件夹中带点好的。;例如:D:/test/com.ifind.android/
*
*/
public static void processDotForld() {
File file = new File(path);
if (file.exists()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
File file2 = files[i];
if (file2.isDirectory()) {
//文件夹
File desFile = creatforld(file2);
copyFileToDes(file2, desFile);
} else {
//文件//目前不存在
}
}
}
}
/**
文件夹拷贝
* @param source
* @param des
*/
public static void copyFileToD