初始化Aria时会将所有数据库状态为下载中的任务改为已停止,防止应用被kill后,任务状态错误, 初始化时自动判断文件是否被删除,文件被删除的任务将自动重置默认值
This commit is contained in:
@@ -30,12 +30,15 @@ import com.arialyy.aria.core.command.ICmd;
|
|||||||
import com.arialyy.aria.core.common.QueueMod;
|
import com.arialyy.aria.core.common.QueueMod;
|
||||||
import com.arialyy.aria.core.download.DownloadEntity;
|
import com.arialyy.aria.core.download.DownloadEntity;
|
||||||
import com.arialyy.aria.core.download.DownloadGroupEntity;
|
import com.arialyy.aria.core.download.DownloadGroupEntity;
|
||||||
|
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
|
||||||
import com.arialyy.aria.core.download.DownloadReceiver;
|
import com.arialyy.aria.core.download.DownloadReceiver;
|
||||||
|
import com.arialyy.aria.core.download.DownloadTaskEntity;
|
||||||
import com.arialyy.aria.core.inf.AbsReceiver;
|
import com.arialyy.aria.core.inf.AbsReceiver;
|
||||||
import com.arialyy.aria.core.inf.IReceiver;
|
import com.arialyy.aria.core.inf.IReceiver;
|
||||||
import com.arialyy.aria.core.inf.ReceiverType;
|
import com.arialyy.aria.core.inf.ReceiverType;
|
||||||
import com.arialyy.aria.core.upload.UploadEntity;
|
import com.arialyy.aria.core.upload.UploadEntity;
|
||||||
import com.arialyy.aria.core.upload.UploadReceiver;
|
import com.arialyy.aria.core.upload.UploadReceiver;
|
||||||
|
import com.arialyy.aria.core.upload.UploadTaskEntity;
|
||||||
import com.arialyy.aria.orm.DbEntity;
|
import com.arialyy.aria.orm.DbEntity;
|
||||||
import com.arialyy.aria.orm.DelegateWrapper;
|
import com.arialyy.aria.orm.DelegateWrapper;
|
||||||
import com.arialyy.aria.util.ALog;
|
import com.arialyy.aria.util.ALog;
|
||||||
@@ -82,6 +85,7 @@ import org.xml.sax.SAXException;
|
|||||||
regAppLifeCallback(context);
|
regAppLifeCallback(context);
|
||||||
initConfig();
|
initConfig();
|
||||||
initAria();
|
initAria();
|
||||||
|
amendTaskState();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AriaManager getInstance(Context context) {
|
public static AriaManager getInstance(Context context) {
|
||||||
@@ -94,9 +98,6 @@ import org.xml.sax.SAXException;
|
|||||||
}
|
}
|
||||||
|
|
||||||
static AriaManager getInstance() {
|
static AriaManager getInstance() {
|
||||||
//if (INSTANCE == null) {
|
|
||||||
// throw new NullPointerException("请在Application或Activity初始化时调用一次Aria.init(context)方法进行初始化操作");
|
|
||||||
//}
|
|
||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,6 +122,21 @@ import org.xml.sax.SAXException;
|
|||||||
mAConfig.setLogLevel(mAConfig.getLogLevel());
|
mAConfig.setLogLevel(mAConfig.getLogLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修正任务状态
|
||||||
|
*/
|
||||||
|
private void amendTaskState() {
|
||||||
|
Class[] clazzs = new Class[] {
|
||||||
|
DownloadEntity.class, UploadEntity.class, DownloadGroupEntity.class,
|
||||||
|
DownloadTaskEntity.class, UploadTaskEntity.class, DownloadGroupTaskEntity.class
|
||||||
|
};
|
||||||
|
String sql = "UPDATE %s SET state=2 WHERE state=4";
|
||||||
|
for (Class clazz : clazzs) {
|
||||||
|
String temp = String.format(sql, clazz.getSimpleName());
|
||||||
|
DbEntity.exeSql(temp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Map<String, AbsReceiver> getReceiver() {
|
public Map<String, AbsReceiver> getReceiver() {
|
||||||
return mReceivers;
|
return mReceivers;
|
||||||
}
|
}
|
||||||
@@ -136,8 +152,7 @@ import org.xml.sax.SAXException;
|
|||||||
* @param mod {@link QueueMod}
|
* @param mod {@link QueueMod}
|
||||||
* @deprecated 后续版本会删除该api
|
* @deprecated 后续版本会删除该api
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated public AriaManager setUploadQueueMod(QueueMod mod) {
|
||||||
public AriaManager setUploadQueueMod(QueueMod mod) {
|
|
||||||
mUConfig.setQueueMod(mod.tag);
|
mUConfig.setQueueMod(mod.tag);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -153,8 +168,7 @@ import org.xml.sax.SAXException;
|
|||||||
* @param mod {@link QueueMod}
|
* @param mod {@link QueueMod}
|
||||||
* @deprecated 后续版本会删除该api
|
* @deprecated 后续版本会删除该api
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated public AriaManager setDownloadQueueMod(QueueMod mod) {
|
||||||
public AriaManager setDownloadQueueMod(QueueMod mod) {
|
|
||||||
mDConfig.setQueueMod(mod.tag);
|
mDConfig.setQueueMod(mod.tag);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -351,7 +365,8 @@ import org.xml.sax.SAXException;
|
|||||||
*
|
*
|
||||||
* @param type {@link ReceiverType}
|
* @param type {@link ReceiverType}
|
||||||
* @param obj 观察者对象
|
* @param obj 观察者对象
|
||||||
* @return key的格式为:{@code String.format("%s_%s_%s", obj.getClass().getName(), type, obj.hashCode());}
|
* @return key的格式为:{@code String.format("%s_%s_%s", obj.getClass().getName(), type,
|
||||||
|
* obj.hashCode());}
|
||||||
*/
|
*/
|
||||||
private String createKey(@ReceiverType String type, Object obj) {
|
private String createKey(@ReceiverType String type, Object obj) {
|
||||||
return String.format("%s_%s_%s", obj.getClass().getName(), type, obj.hashCode());
|
return String.format("%s_%s_%s", obj.getClass().getName(), type, obj.hashCode());
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
package com.arialyy.aria.core.download;
|
package com.arialyy.aria.core.download;
|
||||||
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import com.arialyy.aria.core.common.TaskRecord;
|
||||||
import com.arialyy.aria.core.manager.TEManager;
|
import com.arialyy.aria.core.manager.TEManager;
|
||||||
import com.arialyy.aria.core.queue.DownloadTaskQueue;
|
import com.arialyy.aria.core.queue.DownloadTaskQueue;
|
||||||
import com.arialyy.aria.orm.DbEntity;
|
import com.arialyy.aria.orm.DbEntity;
|
||||||
@@ -168,9 +169,9 @@ abstract class BaseNormalTarget<TARGET extends BaseNormalTarget>
|
|||||||
if (!forceDownload) {
|
if (!forceDownload) {
|
||||||
ALog.e(TAG, "下载失败,保存路径【" + filePath + "】已经被其它任务占用,请设置其它保存路径");
|
ALog.e(TAG, "下载失败,保存路径【" + filePath + "】已经被其它任务占用,请设置其它保存路径");
|
||||||
return false;
|
return false;
|
||||||
}else {
|
} else {
|
||||||
ALog.d(TAG, "保存路径【" + filePath + "】已经被其它任务占用,当前任务将覆盖该路径的文件");
|
ALog.w(TAG, "保存路径【" + filePath + "】已经被其它任务占用,当前任务将覆盖该路径的文件");
|
||||||
DbEntity.deleteData(DownloadEntity.class, "downloadPath=?", filePath);
|
CommonUtil.delTaskRecord(filePath, 1);
|
||||||
mTaskEntity = TEManager.getInstance().getTEntity(DownloadTaskEntity.class, url);
|
mTaskEntity = TEManager.getInstance().getTEntity(DownloadTaskEntity.class, url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
package com.arialyy.aria.core.manager;
|
package com.arialyy.aria.core.manager;
|
||||||
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import com.arialyy.aria.core.common.AbsFileer;
|
||||||
|
import com.arialyy.aria.core.common.TaskRecord;
|
||||||
import com.arialyy.aria.core.download.DownloadEntity;
|
import com.arialyy.aria.core.download.DownloadEntity;
|
||||||
import com.arialyy.aria.core.download.DownloadTaskEntity;
|
import com.arialyy.aria.core.download.DownloadTaskEntity;
|
||||||
import com.arialyy.aria.core.download.wrapper.DTEWrapper;
|
import com.arialyy.aria.core.download.wrapper.DTEWrapper;
|
||||||
@@ -57,7 +59,8 @@ class DTEFactory implements INormalTEFactory<DownloadEntity, DownloadTaskEntity>
|
|||||||
taskEntity = wrapper.get(0).taskEntity;
|
taskEntity = wrapper.get(0).taskEntity;
|
||||||
if (taskEntity == null) {
|
if (taskEntity == null) {
|
||||||
taskEntity = new DownloadTaskEntity();
|
taskEntity = new DownloadTaskEntity();
|
||||||
} else if (taskEntity.getEntity() == null || TextUtils.isEmpty(taskEntity.getEntity().getUrl())) {
|
} else if (taskEntity.getEntity() == null || TextUtils.isEmpty(
|
||||||
|
taskEntity.getEntity().getUrl())) {
|
||||||
taskEntity.setEntity(entity);
|
taskEntity.setEntity(entity);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -93,9 +96,37 @@ class DTEFactory implements INormalTEFactory<DownloadEntity, DownloadTaskEntity>
|
|||||||
entity.setDownloadPath(UUID.randomUUID().toString().replace("-", "")); //设置临时路径
|
entity.setDownloadPath(UUID.randomUUID().toString().replace("-", "")); //设置临时路径
|
||||||
}
|
}
|
||||||
File file = new File(entity.getDownloadPath());
|
File file = new File(entity.getDownloadPath());
|
||||||
if (!file.exists()) {
|
TaskRecord record =
|
||||||
entity.setState(IEntity.STATE_WAIT);
|
TaskRecord.findFirst(TaskRecord.class, "filePath=?", entity.getDownloadPath());
|
||||||
|
if (record == null) {
|
||||||
|
resetEntity(entity);
|
||||||
|
} else {
|
||||||
|
if (record.isBlock) {
|
||||||
|
int count = 0;
|
||||||
|
for (int i = 0, len = record.threadNum; i < len; i++) {
|
||||||
|
File temp = new File(String.format(AbsFileer.SUB_PATH, record.filePath, i));
|
||||||
|
if (!temp.exists()) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count == record.threadNum) {
|
||||||
|
resetEntity(entity);
|
||||||
|
}
|
||||||
|
} else if (!file.exists()) { // 非分块文件需要判断文件是否存在
|
||||||
|
resetEntity(entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化下载实体
|
||||||
|
*/
|
||||||
|
private void resetEntity(DownloadEntity entity) {
|
||||||
|
entity.setPercent(0);
|
||||||
|
entity.setCompleteTime(0);
|
||||||
|
entity.setComplete(false);
|
||||||
|
entity.setCurrentProgress(0);
|
||||||
|
entity.setState(IEntity.STATE_WAIT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,6 +176,14 @@ public abstract class DbEntity {
|
|||||||
return rowID != -1 && util.isExist(getClass(), rowID);
|
return rowID != -1 && util.isExist(getClass(), rowID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表是否存在
|
||||||
|
* @return {@code true} 存在
|
||||||
|
*/
|
||||||
|
public static boolean tableExists(Class<DbEntity> clazz){
|
||||||
|
return DelegateWrapper.getInstance().tableExists(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插入数据,只有 target中checkEntity成功后才能插入,创建实体部分也不允许操作
|
* 插入数据,只有 target中checkEntity成功后才能插入,创建实体部分也不允许操作
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,10 +35,12 @@ import com.arialyy.aria.core.common.AbsFileer;
|
|||||||
import com.arialyy.aria.core.common.TaskRecord;
|
import com.arialyy.aria.core.common.TaskRecord;
|
||||||
import com.arialyy.aria.core.download.DownloadEntity;
|
import com.arialyy.aria.core.download.DownloadEntity;
|
||||||
import com.arialyy.aria.core.download.DownloadGroupEntity;
|
import com.arialyy.aria.core.download.DownloadGroupEntity;
|
||||||
|
import com.arialyy.aria.core.download.DownloadTaskEntity;
|
||||||
import com.arialyy.aria.core.inf.AbsGroupTaskEntity;
|
import com.arialyy.aria.core.inf.AbsGroupTaskEntity;
|
||||||
import com.arialyy.aria.core.inf.AbsNormalEntity;
|
import com.arialyy.aria.core.inf.AbsNormalEntity;
|
||||||
import com.arialyy.aria.core.inf.AbsTaskEntity;
|
import com.arialyy.aria.core.inf.AbsTaskEntity;
|
||||||
import com.arialyy.aria.core.upload.UploadEntity;
|
import com.arialyy.aria.core.upload.UploadEntity;
|
||||||
|
import com.arialyy.aria.core.upload.UploadTaskEntity;
|
||||||
import com.arialyy.aria.orm.DbEntity;
|
import com.arialyy.aria.orm.DbEntity;
|
||||||
import dalvik.system.DexFile;
|
import dalvik.system.DexFile;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -567,6 +569,50 @@ public class CommonUtil {
|
|||||||
dEntity.deleteData();
|
dEntity.deleteData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除任务记录,默认删除文件
|
||||||
|
*
|
||||||
|
* @param filePath 文件路径
|
||||||
|
* @param type {@code 1}下载任务的记录,{@code 2} 上传任务的记录
|
||||||
|
* {@code false}如果任务已经完成,只删除任务数据库记录
|
||||||
|
*/
|
||||||
|
public static void delTaskRecord(String filePath, int type) {
|
||||||
|
if (TextUtils.isEmpty(filePath)) {
|
||||||
|
throw new NullPointerException("删除记录失败,文件路径为空");
|
||||||
|
}
|
||||||
|
if (type != 1 && type != 2) {
|
||||||
|
throw new IllegalArgumentException("任务记录类型错误");
|
||||||
|
}
|
||||||
|
TaskRecord record = DbEntity.findFirst(TaskRecord.class, "filePath=?", filePath);
|
||||||
|
if (record == null) {
|
||||||
|
ALog.w(TAG, "删除记录失败,记录为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
File file = new File(filePath);
|
||||||
|
// 删除分块文件
|
||||||
|
if (record.isBlock) {
|
||||||
|
for (int i = 0, len = record.threadNum; i < len; i++) {
|
||||||
|
File partFile = new File(String.format(AbsFileer.SUB_PATH, record.filePath, i));
|
||||||
|
if (partFile.exists()) {
|
||||||
|
partFile.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (file.exists()) {
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
record.deleteData();
|
||||||
|
//下载任务实体和下载实体为一对一关系,下载实体删除,任务实体自动删除
|
||||||
|
if (type == 1) {
|
||||||
|
DbEntity.deleteData(DownloadTaskEntity.class, "key=?", filePath);
|
||||||
|
DbEntity.deleteData(DownloadEntity.class, "downloadPath=?", filePath);
|
||||||
|
}else {
|
||||||
|
DbEntity.deleteData(UploadTaskEntity.class, "key=?", filePath);
|
||||||
|
DbEntity.deleteData(UploadEntity.class, "filePath=?", filePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取CPU核心数
|
* 获取CPU核心数
|
||||||
*/
|
*/
|
||||||
@@ -705,8 +751,8 @@ public class CommonUtil {
|
|||||||
* @param taskType {@link ICmd#TASK_TYPE_DOWNLOAD}、{@link ICmd#TASK_TYPE_DOWNLOAD_GROUP}、{@link
|
* @param taskType {@link ICmd#TASK_TYPE_DOWNLOAD}、{@link ICmd#TASK_TYPE_DOWNLOAD_GROUP}、{@link
|
||||||
* ICmd#TASK_TYPE_UPLOAD}
|
* ICmd#TASK_TYPE_UPLOAD}
|
||||||
*/
|
*/
|
||||||
public static <T extends AbsTaskEntity> AbsNormalCmd createNormalCmd(T entity,
|
public static <T extends AbsTaskEntity> AbsNormalCmd createNormalCmd(T entity, int cmd,
|
||||||
int cmd, int taskType) {
|
int taskType) {
|
||||||
return NormalCmdFactory.getInstance().createCmd(entity, cmd, taskType);
|
return NormalCmdFactory.getInstance().createCmd(entity, cmd, taskType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
- 优化logcat日志提示
|
- 优化logcat日志提示
|
||||||
- 修改下载线程的优先级为`Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);`
|
- 修改下载线程的优先级为`Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);`
|
||||||
- fix bug https://github.com/AriaLyy/Aria/issues/319
|
- fix bug https://github.com/AriaLyy/Aria/issues/319
|
||||||
|
- 修复分卡下载失败的问题 https://github.com/AriaLyy/Aria/issues/326
|
||||||
|
- 初始化Aria时会将所有数据库状态为下载中的任务改为已停止,防止应用被kill后,任务状态错误
|
||||||
|
- 初始化时自动判断文件是否被删除,文件被删除的任务将自动重置默认值
|
||||||
+ v_3.5.1
|
+ v_3.5.1
|
||||||
- 优化`taskExists`方法
|
- 优化`taskExists`方法
|
||||||
- 添加`post`参数请求支持
|
- 添加`post`参数请求支持
|
||||||
|
|||||||
@@ -55,13 +55,13 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
|
|||||||
//"https://yizi-kejian.oss-cn-beijing.aliyuncs.com/qimeng/package1/qmtable11.zip";
|
//"https://yizi-kejian.oss-cn-beijing.aliyuncs.com/qimeng/package1/qmtable11.zip";
|
||||||
//"http://rs.0.gaoshouyou.com/d/04/1e/400423a7551e1f3f0eb1812afa1f9b44.apk";
|
//"http://rs.0.gaoshouyou.com/d/04/1e/400423a7551e1f3f0eb1812afa1f9b44.apk";
|
||||||
//"http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
|
//"http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
|
||||||
//"https://static.donguo.me//video/ip/course/pfys_1.mp4";
|
"https://static.donguo.me//video/ip/course/pfys_1.mp4";
|
||||||
//"https://www.baidu.com/link?url=_LFCuTPtnzFxVJByJ504QymRywIA1Z_T5xUxe9ZLuxcGM0C_RcdpWyB1eGjbJC-e5wv5wAKM4WmLMAS5KeF6EZJHB8Va3YqZUiaErqK_pxm&wd=&eqid=e8583fe70002d126000000065a99f864";
|
//"https://www.baidu.com/link?url=_LFCuTPtnzFxVJByJ504QymRywIA1Z_T5xUxe9ZLuxcGM0C_RcdpWyB1eGjbJC-e5wv5wAKM4WmLMAS5KeF6EZJHB8Va3YqZUiaErqK_pxm&wd=&eqid=e8583fe70002d126000000065a99f864";
|
||||||
//"https://d.pcs.baidu.com/file/a02c89a2d479d4fd2756f3313d42491d?fid=4232431903-250528-1114369760340736&dstime=1525491372&rt=sh&sign=FDtAERVY-DCb740ccc5511e5e8fedcff06b081203-3C13vkOkuk4TqXvVYW05zj1K0ao%3D&expires=8h&chkv=1&chkbd=0&chkpc=et&dp-logid=8651730921842106225&dp-callid=0&r=165533013";
|
//"https://d.pcs.baidu.com/file/a02c89a2d479d4fd2756f3313d42491d?fid=4232431903-250528-1114369760340736&dstime=1525491372&rt=sh&sign=FDtAERVY-DCb740ccc5511e5e8fedcff06b081203-3C13vkOkuk4TqXvVYW05zj1K0ao%3D&expires=8h&chkv=1&chkbd=0&chkpc=et&dp-logid=8651730921842106225&dp-callid=0&r=165533013";
|
||||||
//"http://apk500.bce.baidu-mgame.com/game/67000/67734/20170622040827_oem_5502845.apk?r=1";
|
//"http://apk500.bce.baidu-mgame.com/game/67000/67734/20170622040827_oem_5502845.apk?r=1";
|
||||||
//"https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
|
//"https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
|
||||||
//"http://9.9.9.59:5000/download/CentOS-7-x86_64-Minimal-1804.iso";
|
//"http://9.9.9.59:5000/download/CentOS-7-x86_64-Minimal-1804.iso";
|
||||||
"https://firmwareapi.azurewebsites.net/firmware-overview?name=A19_Filament_W_IMG0038_00102411-encrypted.ota";
|
//"https://firmwareapi.azurewebsites.net/firmware-overview?name=A19_Filament_W_IMG0038_00102411-encrypted.ota";
|
||||||
@Bind(R.id.start) Button mStart;
|
@Bind(R.id.start) Button mStart;
|
||||||
@Bind(R.id.stop) Button mStop;
|
@Bind(R.id.stop) Button mStop;
|
||||||
@Bind(R.id.cancel) Button mCancel;
|
@Bind(R.id.cancel) Button mCancel;
|
||||||
@@ -70,6 +70,7 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
|
|||||||
@Override protected void onCreate(Bundle savedInstanceState) {
|
@Override protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
Aria.download(this).register();
|
Aria.download(this).register();
|
||||||
|
Log.d(TAG, "TAG========" + Aria.download(this).load(DOWNLOAD_URL).getTaskState() + "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ task clean(type: Delete) {
|
|||||||
ext {
|
ext {
|
||||||
userOrg = 'arialyy'
|
userOrg = 'arialyy'
|
||||||
groupId = 'com.arialyy.aria'
|
groupId = 'com.arialyy.aria'
|
||||||
publishVersion = '3.5.2_dev_4'
|
publishVersion = '3.5.2_dev_5'
|
||||||
// publishVersion = '1.0.4' //FTP插件
|
// publishVersion = '1.0.4' //FTP插件
|
||||||
repoName='maven'
|
repoName='maven'
|
||||||
desc = 'android 下载框架'
|
desc = 'android 下载框架'
|
||||||
|
|||||||
Reference in New Issue
Block a user