Compare commits

...

10 Commits

Author SHA1 Message Date
1414c902d0 <aes>APK 15.11.4 release Publish. 2025-11-19 09:04:27 +08:00
ZhanGSKen
f7b30bebc0 关闭不必要的吐司提示 2025-11-19 09:03:51 +08:00
564289a114 <libaes>Library Release 15.11.3 2025-11-19 08:54:09 +08:00
a08daf142b <aes>APK 15.11.3 release Publish. 2025-11-19 08:54:02 +08:00
ZhanGSKen
bb1f3fba30 调整应用存储配置 2025-11-19 08:53:23 +08:00
66549aea4d <libaes>Library Release 15.11.2 2025-11-19 08:36:28 +08:00
7c6b215d89 <aes>APK 15.11.2 release Publish. 2025-11-19 08:36:14 +08:00
ZhanGSKen
042e25a3dc 精简源码 2025-11-19 08:34:58 +08:00
ZhanGSKen
e2410531ab 更新米盟 SDK 广告显示方案 2025-11-19 08:34:24 +08:00
1fb91e9bfa <libaes>Library Release 15.11.1 2025-11-18 16:40:28 +08:00
7 changed files with 98 additions and 32 deletions

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Tue Nov 18 16:40:13 HKT 2025 #Wed Nov 19 09:04:27 HKT 2025
stageCount=2 stageCount=5
libraryProject=libaes libraryProject=libaes
baseVersion=15.11 baseVersion=15.11
publishVersion=15.11.1 publishVersion=15.11.4
buildCount=0 buildCount=0
baseBetaVersion=15.11.2 baseBetaVersion=15.11.5

View File

@@ -5,6 +5,16 @@ buildscript {
// 设置本地Maven仓库路径 // 设置本地Maven仓库路径
url 'file:///sdcard/.m2/repository/' url 'file:///sdcard/.m2/repository/'
} }
//米盟通过maven接入时要做如下配置
maven {
url "https://repos.xiaomi.com/maven"
credentials {
username 'mimo-developer'
password 'AKCp8ih1PFG9tV8qaLyws67dLGZi8udFM39SfsHgihN15cgsiRvHuxj8JzFmuZjaViVeNawaA'
}
}
// Nexus Maven 库地址 // Nexus Maven 库地址
// "WinBoLL Release" // "WinBoLL Release"
maven { url "https://nexus.winboll.cc/repository/maven-public/" } maven { url "https://nexus.winboll.cc/repository/maven-public/" }
@@ -40,6 +50,15 @@ allprojects {
// 设置本地Maven仓库路径 // 设置本地Maven仓库路径
url 'file:///sdcard/.m2/repository/' url 'file:///sdcard/.m2/repository/'
} }
//米盟通过maven接入时要做如下配置
maven {
url "https://repos.xiaomi.com/maven"
credentials {
username 'mimo-developer'
password 'AKCp8ih1PFG9tV8qaLyws67dLGZi8udFM39SfsHgihN15cgsiRvHuxj8JzFmuZjaViVeNawaA'
}
}
// Nexus Maven 库地址 // Nexus Maven 库地址
// "WinBoLL Release" // "WinBoLL Release"

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Tue Nov 18 16:40:13 HKT 2025 #Wed Nov 19 09:04:27 HKT 2025
stageCount=2 stageCount=5
libraryProject=libaes libraryProject=libaes
baseVersion=15.11 baseVersion=15.11
publishVersion=15.11.1 publishVersion=15.11.4
buildCount=0 buildCount=0
baseBetaVersion=15.11.2 baseBetaVersion=15.11.5

View File

@@ -1,9 +1,25 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<manifest <manifest
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="cc.winboll.studio.libaes"> package="cc.winboll.studio.libaes">
<application> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<!-- 通过GPS得到精确位置 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 通过网络得到粗略位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<activity <activity
android:name="cc.winboll.studio.libaes.unittests.SecondaryLibraryActivity" android:name="cc.winboll.studio.libaes.unittests.SecondaryLibraryActivity"
@@ -33,6 +49,18 @@
android:name="cc.winboll.studio.libaes.winboll.WinBoLLMail" android:name="cc.winboll.studio.libaes.winboll.WinBoLLMail"
android:exported="true"/> android:exported="true"/>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider" />
</provider>
</application> </application>
</manifest> </manifest>

View File

@@ -22,6 +22,7 @@ import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.utils.MimoUtils; import cc.winboll.studio.libaes.utils.MimoUtils;
import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.ToastUtils;
import com.miui.zeus.mimo.sdk.ADParams; import com.miui.zeus.mimo.sdk.ADParams;
import com.miui.zeus.mimo.sdk.BannerAd; import com.miui.zeus.mimo.sdk.BannerAd;
import com.miui.zeus.mimo.sdk.MimoCustomController; import com.miui.zeus.mimo.sdk.MimoCustomController;
@@ -30,7 +31,6 @@ import com.miui.zeus.mimo.sdk.MimoSdk;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import cc.winboll.studio.libappbase.ToastUtils;
/** /**
* @Author ZhanGSKen&豆包大模型<zhangsken@qq.com> * @Author ZhanGSKen&豆包大模型<zhangsken@qq.com>
@@ -47,13 +47,13 @@ public class ADsBannerView extends LinearLayout {
private String BANNER_POS_ID = "802e356f1726f9ff39c69308bfd6f06a"; private String BANNER_POS_ID = "802e356f1726f9ff39c69308bfd6f06a";
private String BANNER_POS_ID_WINBOLL_BETA = "d129ee5a263911f981a6dc7a9802e3e7"; private String BANNER_POS_ID_WINBOLL_BETA = "d129ee5a263911f981a6dc7a9802e3e7";
private String BANNER_POS_ID_WINBOLL = "4ec30efdb32271765b9a4efac902828b"; private String BANNER_POS_ID_WINBOLL = "4ec30efdb32271765b9a4efac902828b";
/* /*
private String BANNER_POS_ID = "802e356f1726f9ff39c69308bfd6f06a"; private String BANNER_POS_ID = "802e356f1726f9ff39c69308bfd6f06a";
private String BANNER_POS_ID_WINBOLL_BETA = "802e356f1726f9ff39c69308bfd6f06a"; private String BANNER_POS_ID_WINBOLL_BETA = "802e356f1726f9ff39c69308bfd6f06a";
private String BANNER_POS_ID_WINBOLL = "802e356f1726f9ff39c69308bfd6f06a"; private String BANNER_POS_ID_WINBOLL = "802e356f1726f9ff39c69308bfd6f06a";
*/ */
Context mContext; Context mContext;
View mMianView; View mMianView;
SharedPreferences mSharedPreferences; SharedPreferences mSharedPreferences;
@@ -88,7 +88,7 @@ public class ADsBannerView extends LinearLayout {
} }
void initView() { void initView() {
// 初始化主线程Handler关键确保广告操作在主线程执行 // 初始化主线程Handler关键确保广告操作在主线程执行
mMainHandler = new Handler(Looper.getMainLooper()); mMainHandler = new Handler(Looper.getMainLooper());
@@ -110,9 +110,8 @@ public class ADsBannerView extends LinearLayout {
} }
public void resumeADs() { public void resumeADs() {
//ToastUtils.show("resumeADs()"); // 修复:优化广告请求逻辑(添加生命周期判断 + 主线程执行)
// 修复:优化广告请求逻辑(添加生命周期判断 + 主线程执行) if (getActivity() != null && !getActivity().isFinishing() && !getActivity().isDestroyed()) {
if (getActivity() != null && !getActivity().isFinishing() && !getActivity().isDestroyed()) {
String privacyAgreeValue = getSharedPreferences().getString(PRIVACY_VALUE, null); String privacyAgreeValue = getSharedPreferences().getString(PRIVACY_VALUE, null);
if (TextUtils.equals(privacyAgreeValue, String.valueOf(1))) { if (TextUtils.equals(privacyAgreeValue, String.valueOf(1))) {
LogUtils.i(TAG, "已同意隐私协议,开始播放米盟广告..."); LogUtils.i(TAG, "已同意隐私协议,开始播放米盟广告...");
@@ -127,9 +126,8 @@ public class ADsBannerView extends LinearLayout {
} }
}, 1000); // 延迟1秒请求广告提升页面加载体验 }, 1000); // 延迟1秒请求广告提升页面加载体验
} }
}
} }
}
/** /**
* 释放广告资源关键避免内存泄漏和空Context调用 * 释放广告资源关键避免内存泄漏和空Context调用
@@ -258,7 +256,9 @@ public class ADsBannerView extends LinearLayout {
@Override @Override
public void onDownloadFailed(int errorCode) { public void onDownloadFailed(int errorCode) {
LogUtils.d(TAG, "onDownloadFailed, errorCode = " + errorCode); String msg = "onDownloadFailed, errorCode = " + errorCode;
LogUtils.d(TAG, msg);
//ToastUtils.show(msg);
} }
@Override @Override
@@ -308,17 +308,22 @@ public class ADsBannerView extends LinearLayout {
@Override @Override
public void onAdLoadFailed(int errorCode, String errorMsg) { public void onAdLoadFailed(int errorCode, String errorMsg) {
LogUtils.e(TAG, "onAdLoadFailed: errorCode = " + errorCode + ", errorMsg = " + errorMsg); String msg = "onAdLoadFailed: errorCode = " + errorCode + ", errorMsg = " + errorMsg;
// 修复:加载失败时移除当前广告实例 LogUtils.d(TAG, msg);
if (mAllBanners.contains(mBannerAd)) { removeAllBanners();
mAllBanners.remove(mBannerAd);
}
mBannerAd.destroy();
mBannerAd = null;
} }
}); });
} }
void removeAllBanners() {
// 修复:加载失败时移除当前广告实例
if (mAllBanners.contains(mBannerAd)) {
mAllBanners.remove(mBannerAd);
}
mBannerAd.destroy();
mBannerAd = null;
}
/** /**
* 根据当前秒数获取广告ID原逻辑保留 * 根据当前秒数获取广告ID原逻辑保留
*/ */

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="mimoDownload" name="files_root" />
<external-path path="." name="external_storage_root" />
</paths>

View File

@@ -4,4 +4,13 @@
<domain-config cleartextTrafficPermitted="true"> <domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">winboll.cc</domain> <domain includeSubdomains="true">winboll.cc</domain>
</domain-config> </domain-config>
<!-- 米盟 SDK 配置 -->
<base-config cleartextTrafficPermitted="true" />
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config> </network-security-config>