3.4.4
This commit is contained in:
@@ -26,6 +26,8 @@ import java.net.HttpURLConnection;
|
|||||||
import java.net.ProtocolException;
|
import java.net.ProtocolException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.zip.GZIPInputStream;
|
import java.util.zip.GZIPInputStream;
|
||||||
import java.util.zip.InflaterInputStream;
|
import java.util.zip.InflaterInputStream;
|
||||||
@@ -123,27 +125,27 @@ class ConnectionHelp {
|
|||||||
}
|
}
|
||||||
if (conn.getRequestProperty("Accept") == null) {
|
if (conn.getRequestProperty("Accept") == null) {
|
||||||
StringBuilder accept = new StringBuilder();
|
StringBuilder accept = new StringBuilder();
|
||||||
accept.append("image/gif, ")
|
//accept
|
||||||
.append("image/jpeg, ")
|
//.append("image/gif, ")
|
||||||
.append("image/pjpeg, ")
|
//.append("image/jpeg, ")
|
||||||
.append("image/webp, ")
|
//.append("image/pjpeg, ")
|
||||||
.append("image/apng, ")
|
//.append("image/webp, ")
|
||||||
.append("application/xml, ")
|
//.append("image/apng, ")
|
||||||
.append("application/xaml+xml, ")
|
//.append("application/xml, ")
|
||||||
.append("application/xhtml+xml, ")
|
//.append("application/xaml+xml, ")
|
||||||
.append("application/x-shockwave-flash, ")
|
//.append("application/xhtml+xml, ")
|
||||||
.append("application/x-ms-xbap, ")
|
//.append("application/x-shockwave-flash, ")
|
||||||
.append("application/x-ms-application, ")
|
//.append("application/x-ms-xbap, ")
|
||||||
.append("application/msword, ")
|
//.append("application/x-ms-application, ")
|
||||||
.append("application/vnd.ms-excel, ")
|
//.append("application/msword, ")
|
||||||
.append("application/vnd.ms-xpsdocument, ")
|
//.append("application/vnd.ms-excel, ")
|
||||||
.append("application/vnd.ms-powerpoint, ")
|
//.append("application/vnd.ms-xpsdocument, ")
|
||||||
.append("text/plain, ")
|
//.append("application/vnd.ms-powerpoint, ")
|
||||||
.append("text/html, ")
|
//.append("text/plain, ")
|
||||||
.append("*/*");
|
//.append("text/html, ")
|
||||||
conn.setRequestProperty("Accept", accept.toString());
|
//.append("*/*");
|
||||||
|
conn.setRequestProperty("Accept", "*/*");
|
||||||
}
|
}
|
||||||
|
|
||||||
//302获取重定向地址
|
//302获取重定向地址
|
||||||
conn.setInstanceFollowRedirects(false);
|
conn.setInstanceFollowRedirects(false);
|
||||||
return conn;
|
return conn;
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ class HttpFileInfoThread implements Runnable {
|
|||||||
URL url = new URL(CommonUtil.convertUrl(mEntity.getUrl()));
|
URL url = new URL(CommonUtil.convertUrl(mEntity.getUrl()));
|
||||||
conn = ConnectionHelp.handleConnection(url, mTaskEntity);
|
conn = ConnectionHelp.handleConnection(url, mTaskEntity);
|
||||||
conn = ConnectionHelp.setConnectParam(mTaskEntity, conn);
|
conn = ConnectionHelp.setConnectParam(mTaskEntity, conn);
|
||||||
conn.setRequestProperty("Range", "bytes=" + 0 + "-");
|
//conn.setRequestProperty("Range", "bytes=" + 0 + "-");
|
||||||
conn.setConnectTimeout(mConnectTimeOut);
|
conn.setConnectTimeout(mConnectTimeOut);
|
||||||
//conn.setChunkedStreamingMode(0);
|
//conn.setChunkedStreamingMode(0);
|
||||||
conn.connect();
|
conn.connect();
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
## 开发日志
|
## 开发日志
|
||||||
|
+ v_3.4.4
|
||||||
|
- 实现[多线程分块下载](https://aria.laoyuyu.me/aria_doc/start/config.html)
|
||||||
|
- 修复`stopAll()`和`resumeAll()`导致的进度为0问题
|
||||||
|
- 修复任务组添加header无效的问题
|
||||||
+ v_3.4.3
|
+ v_3.4.3
|
||||||
- 修复在activity 的onStop中取消注册导致的内存泄露问题
|
- 修复在activity 的onStop中取消注册导致的内存泄露问题
|
||||||
- fix bug https://github.com/AriaLyy/Aria/issues/258
|
- fix bug https://github.com/AriaLyy/Aria/issues/258
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -13,6 +13,7 @@ Aria有以下特点:
|
|||||||
- 支持文件FTP断点续传上传
|
- 支持文件FTP断点续传上传
|
||||||
+ 支持https地址下载
|
+ 支持https地址下载
|
||||||
- 在配置文件中很容易就可以设置CA证书的信息
|
- 在配置文件中很容易就可以设置CA证书的信息
|
||||||
|
+ 支持[多线程分块下载](https://aria.laoyuyu.me/aria_doc/start/config.html),能更有效的发挥机器IO性能
|
||||||
+ 支持300、301、302重定向下载链接下载
|
+ 支持300、301、302重定向下载链接下载
|
||||||
+ 下载支持文件长度动态增加,文件下载初始化时将不再占用过多的内存空间,见[动态长度配置](https://aria.laoyuyu.me/aria_doc/start/config.html#%E4%B8%8B%E8%BD%BD%E5%8A%A8%E6%80%81%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E)
|
+ 下载支持文件长度动态增加,文件下载初始化时将不再占用过多的内存空间,见[动态长度配置](https://aria.laoyuyu.me/aria_doc/start/config.html#%E4%B8%8B%E8%BD%BD%E5%8A%A8%E6%80%81%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E)
|
||||||
|
|
||||||
@@ -30,8 +31,8 @@ Aria有以下特点:
|
|||||||
[](https://bintray.com/arialyy/maven/AriaApi/_latestVersion)
|
[](https://bintray.com/arialyy/maven/AriaApi/_latestVersion)
|
||||||
[](https://bintray.com/arialyy/maven/AriaCompiler/_latestVersion)
|
[](https://bintray.com/arialyy/maven/AriaCompiler/_latestVersion)
|
||||||
```java
|
```java
|
||||||
compile 'com.arialyy.aria:aria-core:3.4.3'
|
compile 'com.arialyy.aria:aria-core:3.4.4'
|
||||||
annotationProcessor 'com.arialyy.aria:aria-compiler:3.4.3'
|
annotationProcessor 'com.arialyy.aria:aria-compiler:3.4.4'
|
||||||
```
|
```
|
||||||
如果出现android support,请将 `compile 'com.arialyy.aria:aria-core:<last-version>'`替换为
|
如果出现android support,请将 `compile 'com.arialyy.aria:aria-core:<last-version>'`替换为
|
||||||
```
|
```
|
||||||
@@ -99,10 +100,10 @@ protected void onCreate(Bundle savedInstanceState) {
|
|||||||
|
|
||||||
|
|
||||||
### 版本日志
|
### 版本日志
|
||||||
+ v_3.4.3
|
+ v_3.4.4
|
||||||
- 修复在activity 的onStop中取消注册导致的内存泄露问题
|
- 实现[多线程分块下载](https://aria.laoyuyu.me/aria_doc/start/config.html)
|
||||||
- fix bug https://github.com/AriaLyy/Aria/issues/258
|
- 修复`stopAll()`和`resumeAll()`导致的进度为0问题
|
||||||
- fix bug https://github.com/AriaLyy/Aria/issues/259
|
- 修复任务组添加header无效的问题
|
||||||
|
|
||||||
[更多版本记录](https://github.com/AriaLyy/Aria/blob/master/DEV_LOG.md)
|
[更多版本记录](https://github.com/AriaLyy/Aria/blob/master/DEV_LOG.md)
|
||||||
|
|
||||||
@@ -124,6 +125,8 @@ protected void onCreate(Bundle savedInstanceState) {
|
|||||||
## 其他
|
## 其他
|
||||||
有任何问题,可以在[issues](https://github.com/AriaLyy/Aria/issues)给我留言反馈。</br>
|
有任何问题,可以在[issues](https://github.com/AriaLyy/Aria/issues)给我留言反馈。</br>
|
||||||
在提交问题前,希望你已经查看过[wiki](https://aria.laoyuyu.me/aria_doc/)或搜索过[issues](https://github.com/AriaLyy/Aria/issues)。</br>
|
在提交问题前,希望你已经查看过[wiki](https://aria.laoyuyu.me/aria_doc/)或搜索过[issues](https://github.com/AriaLyy/Aria/issues)。</br>
|
||||||
|
交流群:524329160
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
License
|
License
|
||||||
|
|||||||
BIN
app/libs/siteparser.aar
Normal file
BIN
app/libs/siteparser.aar
Normal file
Binary file not shown.
@@ -7,7 +7,7 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".base.BaseApplication"
|
android:name="com.arialyy.simple.base.BaseApplication"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<!--android:name=".test.TestGroupActivity"-->
|
<!--android:name=".test.TestGroupActivity"-->
|
||||||
<!--android:name=".MainActivity"-->
|
<!--android:name=".MainActivity"-->
|
||||||
<activity
|
<activity
|
||||||
android:name=".test.AnyRunActivity"
|
android:name="com.arialyy.simple.test.AnyRunActivity"
|
||||||
android:label="@string/app_name">
|
android:label="@string/app_name">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
|
|||||||
@@ -30,8 +30,12 @@ import com.arialyy.simple.common.ConnectionChangeReceiver;
|
|||||||
* Created by Lyy on 2016/9/27.
|
* Created by Lyy on 2016/9/27.
|
||||||
*/
|
*/
|
||||||
public class BaseApplication extends Application {
|
public class BaseApplication extends Application {
|
||||||
|
|
||||||
|
private static BaseApplication INSTANCE;
|
||||||
|
|
||||||
@Override public void onCreate() {
|
@Override public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
|
INSTANCE = this;
|
||||||
AbsFrame.init(this);
|
AbsFrame.init(this);
|
||||||
Aria.init(this);
|
Aria.init(this);
|
||||||
if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
|
if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
|
||||||
@@ -43,4 +47,13 @@ public class BaseApplication extends Application {
|
|||||||
registerReceiver(new ConnectionChangeReceiver(),
|
registerReceiver(new ConnectionChangeReceiver(),
|
||||||
new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
|
new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static BaseApplication getApp() {
|
||||||
|
return INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTerminate() {
|
||||||
|
super.onTerminate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -21,13 +21,13 @@ public class ConnectionChangeReceiver extends BroadcastReceiver {
|
|||||||
NetworkInfo.State state =
|
NetworkInfo.State state =
|
||||||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
|
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
|
||||||
|
|
||||||
if (NetworkInfo.State.CONNECTED == state) {
|
//if (NetworkInfo.State.CONNECTED == state) {
|
||||||
Aria.download(this).resumeAllTask();
|
// Aria.download(this).resumeAllTask();
|
||||||
Log.w(TAG, "恢复所有任务");
|
// Log.w(TAG, "恢复所有任务");
|
||||||
return;
|
// return;
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
Aria.download(this).stopAllTask();
|
//Aria.download(this).stopAllTask();
|
||||||
//Log.w(TAG, "停止所有任务");
|
//Log.w(TAG, "停止所有任务");
|
||||||
//state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
|
//state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
|
||||||
//if (NetworkInfo.State.CONNECTED == state) {
|
//if (NetworkInfo.State.CONNECTED == state) {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import android.os.Bundle;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import com.arialyy.aria.core.Aria;
|
import com.arialyy.aria.core.Aria;
|
||||||
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.util.ALog;
|
||||||
import com.arialyy.simple.R;
|
import com.arialyy.simple.R;
|
||||||
import com.arialyy.simple.base.BaseActivity;
|
import com.arialyy.simple.base.BaseActivity;
|
||||||
import com.arialyy.simple.databinding.ActivityTestBinding;
|
import com.arialyy.simple.databinding.ActivityTestBinding;
|
||||||
@@ -18,7 +18,7 @@ public class AnyRunActivity extends BaseActivity<ActivityTestBinding> {
|
|||||||
AnyRunnModule module;
|
AnyRunnModule module;
|
||||||
String[] urls;
|
String[] urls;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
String URL = "http://static.gaoshouyou.com/d/12/0d/7f120f50c80d2e7b8c4ba24ece4f9cdd.apk";
|
//String URL = "http://static.gaoshouyou.com/d/12/0d/7f120f50c80d2e7b8c4ba24ece4f9cdd.apk";
|
||||||
//String URL = "http://58.213.157.242:8081/sims_file/rest/v1/file/mshd_touchscreen_ms/guideFile/41c33556-dc4a-4d78-bb76-b9f627f94448.mp4/%E5%85%AB%E5%8D%A6%E6%B4%B2%E5%8D%97%E4%BA%AC%E5%86%9C%E4%B8%9A%E5%98%89%E5%B9%B4%E5%8D%8E0511.mp4";
|
//String URL = "http://58.213.157.242:8081/sims_file/rest/v1/file/mshd_touchscreen_ms/guideFile/41c33556-dc4a-4d78-bb76-b9f627f94448.mp4/%E5%85%AB%E5%8D%A6%E6%B4%B2%E5%8D%97%E4%BA%AC%E5%86%9C%E4%B8%9A%E5%98%89%E5%B9%B4%E5%8D%8E0511.mp4";
|
||||||
//String URL = "http://d1.showself.com/download/showself_android-s236279_release.apk";
|
//String URL = "http://d1.showself.com/download/showself_android-s236279_release.apk";
|
||||||
//String URL = "http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk";
|
//String URL = "http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk";
|
||||||
@@ -26,6 +26,7 @@ public class AnyRunActivity extends BaseActivity<ActivityTestBinding> {
|
|||||||
//String URL = "https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
|
//String URL = "https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
|
||||||
//String URL = "ftp://192.168.29.140:21/download/SDK_Demo-release.apk";
|
//String URL = "ftp://192.168.29.140:21/download/SDK_Demo-release.apk";
|
||||||
//String URL = "ftp://z:z@dygod18.com:21211/[电影天堂www.dy2018.com]猩球崛起3:终极之战BD国英双语中英双字.mkv";
|
//String URL = "ftp://z:z@dygod18.com:21211/[电影天堂www.dy2018.com]猩球崛起3:终极之战BD国英双语中英双字.mkv";
|
||||||
|
private String URL = "https://www.bilibili.com/bangumi/play/ep77693";
|
||||||
|
|
||||||
@Override protected int setLayoutId() {
|
@Override protected int setLayoutId() {
|
||||||
return R.layout.activity_test;
|
return R.layout.activity_test;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public class AnyRunnModule {
|
|||||||
|
|
||||||
void start(String url) {
|
void start(String url) {
|
||||||
mUrl = url;
|
mUrl = url;
|
||||||
String path = Environment.getExternalStorageDirectory().getPath() + "/abcds.apk";
|
String path = Environment.getExternalStorageDirectory().getPath() + "/aaa.apk";
|
||||||
//File file = new File(path);
|
//File file = new File(path);
|
||||||
//if (file.exists()) {
|
//if (file.exists()) {
|
||||||
// file.delete();
|
// file.delete();
|
||||||
@@ -73,12 +73,12 @@ public class AnyRunnModule {
|
|||||||
Aria.download(this)
|
Aria.download(this)
|
||||||
.load(url)
|
.load(url)
|
||||||
//.addHeader("Accept-Encoding", "gzip")
|
//.addHeader("Accept-Encoding", "gzip")
|
||||||
.addHeader("headers", "Referer: http://www.bilibili.com/")
|
.addHeader("Referer", "http://www.bilibili.com/")
|
||||||
.addHeader("user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
|
.addHeader("user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
|
||||||
.setRequestMode(RequestEnum.GET)
|
.setRequestMode(RequestEnum.GET)
|
||||||
//.setUrlProxy(Proxy.NO_PROXY)
|
//.setUrlProxy(Proxy.NO_PROXY)
|
||||||
.setFilePath(path)
|
.setFilePath(path)
|
||||||
//.resetState()
|
.resetState()
|
||||||
.start();
|
.start();
|
||||||
//String[] urls = new String[] {
|
//String[] urls = new String[] {
|
||||||
// "http://cdn-s1.touchfound.net/1526449199142_3617.png",
|
// "http://cdn-s1.touchfound.net/1526449199142_3617.png",
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ task clean(type: Delete) {
|
|||||||
ext {
|
ext {
|
||||||
userOrg = 'arialyy'
|
userOrg = 'arialyy'
|
||||||
groupId = 'com.arialyy.aria'
|
groupId = 'com.arialyy.aria'
|
||||||
publishVersion = '3.4.4_dev4'
|
publishVersion = '3.4.4'
|
||||||
// publishVersion = '1.0.3' //FTP插件
|
// publishVersion = '1.0.3' //FTP插件
|
||||||
repoName='maven'
|
repoName='maven'
|
||||||
desc = 'android 下载框架'
|
desc = 'android 下载框架'
|
||||||
|
|||||||
Reference in New Issue
Block a user