pull/330/head
laoyuyu 7 years ago
parent efccdcb0c2
commit ed8430e45c
  1. 42
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/ConnectionHelp.java
  2. 2
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/HttpFileInfoThread.java
  3. 4
      DEV_LOG.md
  4. 15
      README.md
  5. BIN
      app/libs/siteparser.aar
  6. 4
      app/src/main/AndroidManifest.xml
  7. 13
      app/src/main/java/com/arialyy/simple/base/BaseApplication.java
  8. 14
      app/src/main/java/com/arialyy/simple/common/ConnectionChangeReceiver.java
  9. 5
      app/src/main/java/com/arialyy/simple/test/AnyRunActivity.java
  10. 6
      app/src/main/java/com/arialyy/simple/test/AnyRunnModule.java
  11. 2
      build.gradle

@ -26,6 +26,8 @@ import java.net.HttpURLConnection;
import java.net.ProtocolException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.zip.GZIPInputStream;
import java.util.zip.InflaterInputStream;
@ -123,27 +125,27 @@ class ConnectionHelp {
}
if (conn.getRequestProperty("Accept") == null) {
StringBuilder accept = new StringBuilder();
accept.append("image/gif, ")
.append("image/jpeg, ")
.append("image/pjpeg, ")
.append("image/webp, ")
.append("image/apng, ")
.append("application/xml, ")
.append("application/xaml+xml, ")
.append("application/xhtml+xml, ")
.append("application/x-shockwave-flash, ")
.append("application/x-ms-xbap, ")
.append("application/x-ms-application, ")
.append("application/msword, ")
.append("application/vnd.ms-excel, ")
.append("application/vnd.ms-xpsdocument, ")
.append("application/vnd.ms-powerpoint, ")
.append("text/plain, ")
.append("text/html, ")
.append("*/*");
conn.setRequestProperty("Accept", accept.toString());
//accept
//.append("image/gif, ")
//.append("image/jpeg, ")
//.append("image/pjpeg, ")
//.append("image/webp, ")
//.append("image/apng, ")
//.append("application/xml, ")
//.append("application/xaml+xml, ")
//.append("application/xhtml+xml, ")
//.append("application/x-shockwave-flash, ")
//.append("application/x-ms-xbap, ")
//.append("application/x-ms-application, ")
//.append("application/msword, ")
//.append("application/vnd.ms-excel, ")
//.append("application/vnd.ms-xpsdocument, ")
//.append("application/vnd.ms-powerpoint, ")
//.append("text/plain, ")
//.append("text/html, ")
//.append("*/*");
conn.setRequestProperty("Accept", "*/*");
}
//302获取重定向地址
conn.setInstanceFollowRedirects(false);
return conn;

@ -56,7 +56,7 @@ class HttpFileInfoThread implements Runnable {
URL url = new URL(CommonUtil.convertUrl(mEntity.getUrl()));
conn = ConnectionHelp.handleConnection(url, mTaskEntity);
conn = ConnectionHelp.setConnectParam(mTaskEntity, conn);
conn.setRequestProperty("Range", "bytes=" + 0 + "-");
//conn.setRequestProperty("Range", "bytes=" + 0 + "-");
conn.setConnectTimeout(mConnectTimeOut);
//conn.setChunkedStreamingMode(0);
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
- 修复在activity 的onStop中取消注册导致的内存泄露问题
- fix bug https://github.com/AriaLyy/Aria/issues/258

@ -13,6 +13,7 @@ Aria有以下特点:
- 支持文件FTP断点续传上传
+ 支持https地址下载
- 在配置文件中很容易就可以设置CA证书的信息
+ 支持[多线程分块下载](https://aria.laoyuyu.me/aria_doc/start/config.html),能更有效的发挥机器IO性能
+ 支持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)
@ -30,8 +31,8 @@ Aria有以下特点:
[![Download](https://api.bintray.com/packages/arialyy/maven/AriaApi/images/download.svg)](https://bintray.com/arialyy/maven/AriaApi/_latestVersion)
[![Download](https://api.bintray.com/packages/arialyy/maven/AriaCompiler/images/download.svg)](https://bintray.com/arialyy/maven/AriaCompiler/_latestVersion)
```java
compile 'com.arialyy.aria:aria-core:3.4.3'
annotationProcessor 'com.arialyy.aria:aria-compiler:3.4.3'
compile 'com.arialyy.aria:aria-core:3.4.4'
annotationProcessor 'com.arialyy.aria:aria-compiler:3.4.4'
```
如果出现android support,请将 `compile 'com.arialyy.aria:aria-core:<last-version>'`替换为
```
@ -99,10 +100,10 @@ protected void onCreate(Bundle savedInstanceState) {
### 版本日志
+ v_3.4.3
- 修复在activity 的onStop中取消注册导致的内存泄露问题
- fix bug https://github.com/AriaLyy/Aria/issues/258
- fix bug https://github.com/AriaLyy/Aria/issues/259
+ v_3.4.4
- 实现[多线程分块下载](https://aria.laoyuyu.me/aria_doc/start/config.html)
- 修复`stopAll()`和`resumeAll()`导致的进度为0问题
- 修复任务组添加header无效的问题
[更多版本记录](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>
在提交问题前,希望你已经查看过[wiki](https://aria.laoyuyu.me/aria_doc/)或搜索过[issues](https://github.com/AriaLyy/Aria/issues)。</br>
交流群:524329160
***
License

Binary file not shown.

@ -7,7 +7,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:name=".base.BaseApplication"
android:name="com.arialyy.simple.base.BaseApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
@ -19,7 +19,7 @@
<!--android:name=".test.TestGroupActivity"-->
<!--android:name=".MainActivity"-->
<activity
android:name=".test.AnyRunActivity"
android:name="com.arialyy.simple.test.AnyRunActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

@ -30,8 +30,12 @@ import com.arialyy.simple.common.ConnectionChangeReceiver;
* Created by Lyy on 2016/9/27.
*/
public class BaseApplication extends Application {
private static BaseApplication INSTANCE;
@Override public void onCreate() {
super.onCreate();
INSTANCE = this;
AbsFrame.init(this);
Aria.init(this);
if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
@ -43,4 +47,13 @@ public class BaseApplication extends Application {
registerReceiver(new ConnectionChangeReceiver(),
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 =
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if (NetworkInfo.State.CONNECTED == state) {
Aria.download(this).resumeAllTask();
Log.w(TAG, "恢复所有任务");
return;
}
Aria.download(this).stopAllTask();
//if (NetworkInfo.State.CONNECTED == state) {
// Aria.download(this).resumeAllTask();
// Log.w(TAG, "恢复所有任务");
// return;
//}
//
//Aria.download(this).stopAllTask();
//Log.w(TAG, "停止所有任务");
//state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
//if (NetworkInfo.State.CONNECTED == state) {

@ -4,8 +4,8 @@ import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityTestBinding;
@ -18,7 +18,7 @@ public class AnyRunActivity extends BaseActivity<ActivityTestBinding> {
AnyRunnModule module;
String[] urls;
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://d1.showself.com/download/showself_android-s236279_release.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 = "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";
private String URL = "https://www.bilibili.com/bangumi/play/ep77693";
@Override protected int setLayoutId() {
return R.layout.activity_test;

@ -65,7 +65,7 @@ public class AnyRunnModule {
void start(String url) {
mUrl = url;
String path = Environment.getExternalStorageDirectory().getPath() + "/abcds.apk";
String path = Environment.getExternalStorageDirectory().getPath() + "/aaa.apk";
//File file = new File(path);
//if (file.exists()) {
// file.delete();
@ -73,12 +73,12 @@ public class AnyRunnModule {
Aria.download(this)
.load(url)
//.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")
.setRequestMode(RequestEnum.GET)
//.setUrlProxy(Proxy.NO_PROXY)
.setFilePath(path)
//.resetState()
.resetState()
.start();
//String[] urls = new String[] {
// "http://cdn-s1.touchfound.net/1526449199142_3617.png",

@ -39,7 +39,7 @@ task clean(type: Delete) {
ext {
userOrg = 'arialyy'
groupId = 'com.arialyy.aria'
publishVersion = '3.4.4_dev4'
publishVersion = '3.4.4'
// publishVersion = '1.0.3' //FTP插件
repoName='maven'
desc = 'android 下载框架'

Loading…
Cancel
Save