Skip to content

Resume Upload default version to v2 #517

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
#Changelog
## 8.9.0(2025-06-12)
* 调整
* 分片上传版本默认调整为 V2

## 8.8.0(2024-06-24)
* 增加
* 上传支持加速域名
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ https://github.com/qiniudemo/qiniu-lab-android

| Qiniu SDK 版本 | 最低 Android版本 | 依赖库版本 |
|--------------|-----------------|------------------------|
| 8.9.x | Android 4.0+ | okhttp 4+ |
| 8.8.x | Android 4.0+ | okhttp 4+ |
| 8.7.x | Android 4.0+ | okhttp 4+ |
| 8.6.x | Android 4.0+ | okhttp 4+ |
Expand Down Expand Up @@ -56,10 +57,10 @@ https://github.com/qiniudemo/qiniu-lab-android
* Android Studio中添加dependencies 或者 在项目中添加maven依赖
```
// 1. 直接导入
implementation 'com.qiniu:qiniu-android-sdk:8.8.+'
implementation 'com.qiniu:qiniu-android-sdk:8.9.+'

// 2. 如果要修改okhttp依赖的版本,可采用以下方式(强烈建议使用七牛库依赖的okhttp版本)
implementation ('com.qiniu:qiniu-android-sdk:8.8.+'){
implementation ('com.qiniu:qiniu-android-sdk:8.9.+'){
exclude (group: 'com.squareup.okhttp3', module: 'okhttp')
}
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
Expand Down
6 changes: 3 additions & 3 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Thu Jul 06 18:09:15 CST 2023
#Tue Jun 10 16:58:52 CST 2025
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
13 changes: 6 additions & 7 deletions library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@ String version = versionName()
int code = versionNameToCode(version)

android {
compileSdkVersion 33
// buildToolsVersion '29.0.3'
namespace 'com.qiniu.android'
compileSdk 33

defaultConfig {
//applicationId "com.qiniu.android"
minSdkVersion 14
targetSdkVersion 33
versionCode code
versionName version

Expand Down Expand Up @@ -67,8 +66,8 @@ dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')

androidTestImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'

// androidTestImplementation "androidx.test:runner:1.4.0"
// androidTestImplementation "androidx.test:core:1.4.0"
Expand All @@ -81,7 +80,7 @@ dependencies {

task releaseJar(type: Jar, dependsOn: 'build') {
//指定生成的jar名
baseName('qiniu-android-sdk-' + version)
archiveBaseName = ('qiniu-android-sdk-' + version + '.jar')
//从哪里打包class文件
// from('build/intermediates/classes/release/com/qiniu/android/dns/')
//打包到jar后的目录结构
Expand Down
1 change: 0 additions & 1 deletion library/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@ POM_NAME=qiniu-android-sdk-library
POM_ARTIFACT_ID=qiniu-android-sdk
POM_PACKAGING=aar
android.debug.obsoleteApi=true
android.enableAapt2=false
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
104 changes: 51 additions & 53 deletions library/src/androidTest/java/com/qiniu/android/TestConfig.java
Original file line number Diff line number Diff line change
@@ -1,76 +1,74 @@
package com.qiniu.android;

import com.qiniu.android.common.FixedZone;
import com.qiniu.android.common.Zone;

/**
* Created by bailong on 14/10/12.
* @author Created by bailong on 14/10/12.
* 测试用例参数配置
*/
public final class TestConfig {
// TODO: 2020-05-09 bad token for testPutBytesWithFixedZoneUseBackupDomains
// 华东上传凭证
public static final String bucket_z0 = "kodo-phone-zone0-space";
public static final String token_z0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:gHBZrJTOKxxJlXjYoUxWmRSvuU8=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
// 华北上传凭证
public static final String bucket_z1 = "kodo-phone-zone1-space";
public static final String token_z1 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:8kFB5kF7f3INNSUZLToOBDTGMbU=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTEtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
// 华南上传凭证
public static final String bucket_z2 = "kodo-phone-zone2-space";
public static final String token_z2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:CR7NjzaMWAqQAt6b7mPuwvwIzLs=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTItc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
// 北美上传凭证
public static final String bucket_na0 = "kodo-phone-zone-na0-space";
public static final String token_na0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:4TBEbspih6VzaNbPYlrpRIkm7xU=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1uYTAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
// 东南亚上传凭证
public static final String bucket_as0 = "kodo-phone-zone-as0-space";
public static final String token_as0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:JczpyfXUYEan2qrimbu6GlOCADo=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1hczAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
// 华北浙江2上传凭证
public static final String bucket_cn_east_2 = "kodo-phone-cn-east-2";
public static final String token_cn_east_2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:LWCzEeHkDWcYVBViMzZdJ4IaZ0U=:eyJzY29wZSI6ImtvZG8tcGhvbmUtY24tZWFzdC0yIiwiZGVhZGxpbmUiOjE3MjE3MDA1OTIsICJyZXR1cm5Cb2R5Ijoie1wiZm9vXCI6JCh4OmZvbyksIFwiYmFyXCI6JCh4OmJhciksIFwibWltZVR5cGVcIjokKG1pbWVUeXBlKSwgXCJoYXNoXCI6JChldGFnKSwgXCJrZXlcIjokKGtleSksIFwiZm5hbWVcIjokKGZuYW1lKSwgXCJmc2l6ZVwiOiQoZnNpemUpfSJ9";
public static final String invalidBucketToken = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:FLgR-iEqqbGw-2vCdA9m5X7nOTY=:eyJzY29wZSI6InpvbmVfaW52YWxpZCIsImRlYWRsaW5lIjoxNzIxNzAwNTkyLCAicmV0dXJuQm9keSI6IntcImZvb1wiOiQoeDpmb28pLCBcImJhclwiOiQoeDpiYXIpLCBcIm1pbWVUeXBlXCI6JChtaW1lVHlwZSksIFwiaGFzaFwiOiQoZXRhZyksIFwia2V5XCI6JChrZXkpLCBcImZuYW1lXCI6JChmbmFtZSksIFwiZnNpemVcIjokKGZzaXplKX0ifQ==";
/**
* 华东上传 Bucket
*/
public static final String BUCKET_Z0 = "kodo-phone-zone0-space";

// -----------
public static final String ak = "bjtWBQXrcxgo7HWwlC_bgHg81j352_GhgBGZPeOW";
/**
* 华东上传 Token
*/
public static final String TOKEN_Z0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:yOpxWejHk_3fbAgKMXrU2hcHdn4=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTAtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
/**
* 华北上传 Bucket
*/
public static final String BUCKET_Z1 = "kodo-phone-zone1-space";

/**
* 华北上传 Token
*/
public static final String TOKEN_Z1 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:zfUWM_fef9HBm-rxBCr4vS7Cpew=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTEtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
/**
* 华南上传 Bucket
*/
public static final String BUCKET_Z2 = "kodo-phone-zone2-space";

//测试通用的token
public static final String commonToken = token_na0;
//dns prefetch token
public static final String uptoken_prefetch = "MP_Ebql_lSsUrDr7WrXn_5vKocQDLvTPCNEFeVmp:3KJpXCGMqm6EAYU71RF1HDmQrcE=:eyJzY29wZSI6ImFuZHJvaWR0ZXN0IiwiZGVhZGxpbmUiOjE1Njc0OTAxODF9";
/**
* 华南上传 Token
*/
public static final String TOKEN_Z2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:KMKQCK93-eNG26UoTrvVbbdnriI=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTItc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
/**
* 北美上传 Bucket
*/
public static final String BUCKET_NA0 = "kodo-phone-zone-na0-space";

/**
* 华东机房
* 北美上传 Token
*/
public static final String TOKEN_NA0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:HB0atzwUWFZM58cYyssBKtPrTOQ=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1uYTAtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
/**
* 东南亚上传 Bucket
*/
public static final Zone mock_bucket_zone0 = new FixedZone(new String[]{
"mock.upload.qiniup.com", "mock.upload-nb.qiniup.com",
"mock.upload-xs.qiniup.com", "mock.up.qiniup.com",
"mock.up-nb.qiniup.com", "mock.up-xs.qiniup.com",
"mock.upload.qbox.me", "up.qbox.me"
});
public static final String BUCKET_AS0 = "kodo-phone-zone-as0-space";

/**
* 华北机房
* 东南亚上传 Token
*/
public static final Zone mock_bucket_zone1 = new FixedZone(new String[]{
"mock.upload-z1.qiniup.com", "mock.up-z1.qiniup.com",
"mock.upload-z1.qbox.me", "up-z1.qbox.me"
});
public static final String TOKEN_AS0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:PLEc_wBAnhcWAqIw_BTC9lBhyzs=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1hczAtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
/**
* 华北浙江2上传 Bucket
*/
public static final String BUCKET_CN_EAST_2 = "kodo-phone-cn-east-2";

/**
* 华南机房
* 华北浙江2上传 Token
*/
public static final Zone mock_bucket_zone2 = new FixedZone(new String[]{
"mock.upload-z2.qiniup.com", "mock.upload-gz.qiniup.com",
"mock.upload-fs.qiniup.com", "mock.up-z2.qiniup.com",
"mock.up-gz.qiniup.com", "mock.up-fs.qiniup.com",
"mock.upload-z2.qbox.me", "up-z2.qbox.me"
});
public static final String TOKEN_CN_EAST_2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:lrPAesFMWkyi310xoagnn5oKu08=:eyJzY29wZSI6ImtvZG8tcGhvbmUtY24tZWFzdC0yIiwiZGVhZGxpbmUiOjE3NTQ3MzUyNjUsICJyZXR1cm5Cb2R5Ijoie1wiZm9vXCI6JCh4OmZvbyksIFwiYmFyXCI6JCh4OmJhciksIFwibWltZVR5cGVcIjokKG1pbWVUeXBlKSwgXCJoYXNoXCI6JChldGFnKSwgXCJrZXlcIjokKGtleSksIFwiZm5hbWVcIjokKGZuYW1lKSwgXCJmc2l6ZVwiOiQoZnNpemUpfSJ9";

/**
* 北美机房
* 测试使用的 AK
*/
public static final Zone mock_bucket_zoneNa0 = new FixedZone(new String[]{
"mock.upload-na0.qiniu.com", "mock.up-na0.qiniup.com",
"mock.upload-na0.qbox.me", "up-na0.qbox.me"
});
public static final String AK = "bjtWBQXrcxgo7HWwlC_bgHg81j352_GhgBGZPeOW";


/**
* 测试通用的token
*/
public static final String COMMON_TOKEN = BUCKET_NA0;
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public void testMultipartSyncPost() {
postArgs.params = new StringMap();
postArgs.params.put("x:foo", "foo");

UpToken token = UpToken.parse(TestConfig.commonToken);
UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

Client client = new Client(null, 90, 90, null, null);
ResponseInfo responseInfo = client.syncMultipartPost("https://up.qiniup.com", postArgs, token);
Expand All @@ -70,7 +70,7 @@ public void testMultipartAsyncPost() {
postArgs.mimeType = "text/plain";
postArgs.params = new StringMap();

UpToken token = UpToken.parse(TestConfig.commonToken);
UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

Client client = new Client(null, 90, 90, null, null);
client.asyncMultipartPost("https://up.qiniu.com", postArgs, token, null, new CompletionHandler() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public void run() {

private void report(ReportItem item){
UploadInfoReporter reporter = UploadInfoReporter.getInstance();
reporter.report(item, TestConfig.token_z0);
reporter.report(item, TestConfig.TOKEN_Z0);
}

private static void showContent(File recordFile) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ private void no_testUplog() {

item.setReport("http1.1", ReportItem.RequestKeyHttpVersion);

UploadInfoReporter.getInstance().report(item, TestConfig.commonToken);
UploadInfoReporter.getInstance().report(item, TestConfig.COMMON_TOKEN);

// wait(new WaitConditional() {
// @Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@


/**
* Created by long on 2016/9/30.
* @author Created by long on 2016/9/30.
*/
@RunWith(AndroidJUnit4.class)
public class AutoZoneTest extends BaseTest {
private String ak = TestConfig.ak;
private String ak = TestConfig.AK;
private String bkt = "javasdk";

@Test
public void testClearAutoZoneCache() {
final WaitCondition waitCondition = new WaitCondition();
AutoZone zone = new AutoZone();
UpToken token = UpToken.parse(TestConfig.commonToken);
UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

zone.preQuery(token, new Zone.QueryHandler() {
@Override
Expand Down Expand Up @@ -110,7 +110,7 @@ public void testUCServer(){
autoZone.setUcServer(ucServer);
assertTrue(autoZone.getUcServerList().get(0).equals(ucServer));

UpToken token = UpToken.parse(TestConfig.commonToken);
UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

autoZone.preQuery(token, new Zone.QueryHandler() {
@Override
Expand Down Expand Up @@ -168,7 +168,7 @@ public boolean shouldWait() {

private void zoneRequest(final CompleteHandlder completeHandlder){
final AutoZone zone = new AutoZone();
final UpToken token = UpToken.parse(TestConfig.commonToken);
final UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

zone.preQuery(token, new Zone.QueryHandler() {
@Override
Expand All @@ -190,7 +190,7 @@ public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMet
@Test
public void testAutoZone() {
final AutoZone zone = new AutoZone();
final UpToken token = UpToken.parse(TestConfig.commonToken);
final UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

final TestParam param = new TestParam();

Expand Down Expand Up @@ -226,7 +226,7 @@ public boolean shouldWait() {
public void testSetUcHosts02() {
final AutoZone zone = new AutoZone();
zone.setUcServers(new String[]{Config.preQueryHost02});
final UpToken token = UpToken.parse(TestConfig.commonToken);
final UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);

final TestParam param = new TestParam();

Expand Down
Loading
Loading