diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bde7d96..d286469 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,6 +6,8 @@ import java.io.FileInputStream plugins { id("com.android.application") id ("org.jetbrains.kotlin.android") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") } val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) @@ -26,8 +28,8 @@ android { applicationId = "com.draw.painting.line" minSdk = 24 targetSdk = 36 - versionCode = 2 - versionName = "1.1" + versionCode = 3 + versionName = "3.1" setProperty("archivesBaseName", "Ar Drawing Space_V" + versionName + "(${versionCode})_$timestamp") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -68,7 +70,7 @@ android { } dependencies { - + implementation("com.google.guava:guava:31.1-android") implementation("androidx.appcompat:appcompat:1.7.1") implementation("androidx.activity:activity:1.8.2") implementation("com.google.android.material:material:1.13.0") @@ -87,9 +89,99 @@ dependencies { implementation ("androidx.camera:camera-extensions:${camerax_version}") + //sdk + implementation(files("libs/TopOnLibrary_11_06_18_02-release.aar")) + implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar")) + //-----------------------------------------------TopOn(Mintegral、Pangle、UnitAds、Digital Turbine(Fyber)、Chartboost&Helium、Ironsource、Liftoff(Vungle)、Inmobi、Start.io、Bigo) + //TU (Necessary) + implementation("com.thinkup.sdk:core-tpn:6.5.36") + implementation("com.thinkup.sdk:nativead-tpn:6.5.36") + implementation("com.thinkup.sdk:banner-tpn:6.5.36") + implementation("com.thinkup.sdk:interstitial-tpn:6.5.36") + implementation("com.thinkup.sdk:rewardedvideo-tpn:6.5.36") + implementation("com.thinkup.sdk:splash-tpn:6.5.36") + //Androidx (Necessary) + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("androidx.browser:browser:1.4.0") + //StartApp + implementation("com.thinkup.sdk:adapter-tpn-startapp:6.5.36") + implementation("com.startapp:inapp-sdk:5.2.4") + //Vungle + implementation("com.thinkup.sdk:adapter-tpn-vungle:6.5.36") + implementation("com.vungle:vungle-ads:7.5.0") + implementation("com.google.android.gms:play-services-basement:18.1.0") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + + //UnityAds + implementation("com.thinkup.sdk:adapter-tpn-unityads:6.5.36") + implementation("com.unity3d.ads:unity-ads:4.16.1") + + //Ironsource + implementation("com.thinkup.sdk:adapter-tpn-ironsource:6.5.36") + implementation("com.ironsource.sdk:mediationsdk:8.10.0") + implementation("com.google.android.gms:play-services-appset:16.0.2") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + implementation("com.google.android.gms:play-services-basement:18.1.0") + + //Bigo + implementation("com.thinkup.sdk:adapter-tpn-bigo:6.5.36") + implementation("com.bigossp:bigo-ads:5.5.1") + + //Pangle + implementation("com.thinkup.sdk:adapter-tpn-pangle:6.5.36") + implementation("com.pangle.global:pag-sdk:7.6.0.2") + implementation("com.google.android.gms:play-services-ads-identifier:18.2.0") + + //Inmobi + implementation("com.thinkup.sdk:adapter-tpn-inmobi:6.5.36") + implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.7") + + //TU Adx SDK(Necessary) + implementation("com.thinkup.sdk:adapter-tpn-sdm:6.5.36.4") + implementation("com.smartdigimkttech.sdk:smartdigimkttech-sdk:6.5.40") + + //Mintegral + implementation("com.thinkup.sdk:adapter-tpn-mintegral:6.5.36") + implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.91") + implementation("androidx.recyclerview:recyclerview:1.1.0") + + //Chartboost + implementation("com.thinkup.sdk:adapter-tpn-chartboost:6.5.36") + implementation("com.chartboost:chartboost-sdk:9.8.3") + implementation("com.chartboost:chartboost-mediation-sdk:4.9.2") + implementation("com.chartboost:chartboost-mediation-adapter-chartboost:4.9.8.1.0") + implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.10.0") + implementation("com.squareup.okhttp3:okhttp:4.10.0") + implementation("com.squareup.retrofit2:converter-scalars:2.9.0") + implementation("com.squareup.retrofit2:retrofit:2.9.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1") + + //Fyber + implementation("com.thinkup.sdk:adapter-tpn-fyber:6.5.36") + implementation("com.fyber:marketplace-sdk:8.3.7") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + +//Tramini + implementation("com.thinkup.sdk:tramini-plugin-tpn:6.5.36") + // Debugger UI Tools + implementation("com.thinkup.sdk:debugger-ui:1.1.2") + + //firebase + implementation(platform("com.google.firebase:firebase-bom:33.7.0")) + implementation("com.google.firebase:firebase-crashlytics") + implementation("com.google.firebase:firebase-analytics") + implementation("com.google.firebase:firebase-config") + + //upload + implementation ("com.squareup.okhttp3:okhttp:4.12.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") + + implementation ("com.google.android.gms:play-services-ads-identifier:18.0.1") diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..54ec518 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "16958905312", + "project_id": "ardrawingspacec", + "storage_bucket": "ardrawingspacec.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:16958905312:android:7db92dc45f5d5fb2f82985", + "android_client_info": { + "package_name": "com.draw.painting.line" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyB4FQIn9S3sfWa9EswDmgzX9p_LQzbM_JM" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/libs/TopOnLibrary_11_06_18_02-release.aar b/app/libs/TopOnLibrary_11_06_18_02-release.aar new file mode 100644 index 0000000..76472df Binary files /dev/null and b/app/libs/TopOnLibrary_11_06_18_02-release.aar differ diff --git a/app/libs/UpLoadLibrary_12_03_15_13-release.aar b/app/libs/UpLoadLibrary_12_03_15_13-release.aar new file mode 100644 index 0000000..a3e30aa Binary files /dev/null and b/app/libs/UpLoadLibrary_12_03_15_13-release.aar differ diff --git a/app/release/baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm b/app/release/baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm deleted file mode 100644 index c587d4d..0000000 Binary files a/app/release/baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm and /dev/null differ diff --git a/app/release/baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm b/app/release/baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm new file mode 100644 index 0000000..47a2cbf Binary files /dev/null and b/app/release/baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm differ diff --git a/app/release/baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm b/app/release/baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm deleted file mode 100644 index 4279350..0000000 Binary files a/app/release/baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm and /dev/null differ diff --git a/app/release/baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm b/app/release/baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm new file mode 100644 index 0000000..997cd35 Binary files /dev/null and b/app/release/baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm differ diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index d3f3a02..ab6b5ee 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,9 +11,9 @@ "type": "SINGLE", "filters": [], "attributes": [], - "versionCode": 1, - "versionName": "1.0", - "outputFile": "Ar Drawing Space_V1.0(1)_12_17_11_29-release.apk" + "versionCode": 3, + "versionName": "3.1", + "outputFile": "Ar Drawing Space_V3.1(3)_01_05_13_51-release.apk" } ], "elementType": "File", @@ -22,14 +22,14 @@ "minApi": 28, "maxApi": 30, "baselineProfiles": [ - "baselineProfiles/1/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm" + "baselineProfiles/1/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm" ] }, { "minApi": 31, "maxApi": 2147483647, "baselineProfiles": [ - "baselineProfiles/0/Ar Drawing Space_V1.0(1)_12_17_11_29-release.dm" + "baselineProfiles/0/Ar Drawing Space_V3.1(3)_01_05_13_51-release.dm" ] } ], diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ed0a7fb..48a7aee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ + + + + + + + null); + AdManager.INSTANCE.init(TAG,app,"h695a24ac29479","a3d7e73522fa3eef29c138c2a7b798ffa", + "d0a434af69020f58cd1c246da4adb0630eb18a02", + "n695a24d9be227", + "n695a24d979a2b", + "n695a24d9334a8",false);//测试开true + Log.d(TAG, "onCreate: sdk init success"); } diff --git a/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java b/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java index fc71c11..4ba9271 100644 --- a/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java +++ b/app/src/main/java/com/draw/painting/line/ui/DeerVectorDrawView.java @@ -267,7 +267,7 @@ public class DeerVectorDrawView extends View { isAnimating = true; mainAnimator = ValueAnimator.ofFloat(0f, 1f); - mainAnimator.setDuration(2200); // 总时长 2.2 秒 + mainAnimator.setDuration(12000); // 总时长 2.2 秒 mainAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); mainAnimator.addUpdateListener(animation -> { animationProgress = (float) animation.getAnimatedValue(); diff --git a/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java b/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java index 537093c..cf8311c 100644 --- a/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/DrawActivity.java @@ -36,10 +36,11 @@ import android.widget.ImageView; import android.widget.SeekBar; import android.widget.Toast; -import com.google.common.util.concurrent.ListenableFuture; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.DrawingApp; import com.draw.painting.line.R; import com.draw.painting.line.manager.AppHelper; +import com.google.common.util.concurrent.ListenableFuture; import java.io.File; import java.io.IOException; @@ -82,6 +83,8 @@ public class DrawActivity extends AppCompatActivity implements View.OnTouchListe protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AppHelper.enableEdgeToEdge(this); + AdManager.loadAllAd(); + AdManager.showTopOn(this, () -> {}); setContentView(R.layout.activity_draw); previewView = findViewById(R.id.preview); imageView = findViewById(R.id.image); @@ -184,7 +187,7 @@ public class DrawActivity extends AppCompatActivity implements View.OnTouchListe @Override public void onClick(View v) { if (v.equals(imBack)) { - finish(); + AdManager.showTopOn(this, () -> { finish();}); } else { if (!hasPermission) { showNoPermission(); @@ -194,9 +197,11 @@ public class DrawActivity extends AppCompatActivity implements View.OnTouchListe if (camera == null) { return; } - boolean selected = flashIm.isSelected(); - flashIm.setSelected(!selected); - camera.getCameraControl().enableTorch(!selected); + AdManager.showTopOn(this, () -> { + boolean selected = flashIm.isSelected(); + flashIm.setSelected(!selected); + camera.getCameraControl().enableTorch(!selected); + }); } else if (v.equals(imPhoto)) { pickImageLauncher.launch( new PickVisualMediaRequest.Builder() diff --git a/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java b/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java index 2ab3578..8a9e16d 100644 --- a/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/GalleryActivity.java @@ -8,6 +8,7 @@ import android.graphics.Bitmap; import android.os.Bundle; import android.view.View; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.DrawingApp; import com.draw.painting.line.adapter.ImageListAdapter; import com.draw.painting.line.databinding.ActivityGalleryBinding; @@ -50,6 +51,8 @@ public class GalleryActivity extends AppCompatActivity { AppHelper.enableEdgeToEdge(this); preViewBinding = ActivityGalleryBinding.inflate(getLayoutInflater()); setContentView(preViewBinding.getRoot()); + AdManager.loadAllAd(); + AdManager.showTopOn(this, () -> {}); // AppHelper.setupWindowInsetsListener(preViewBinding.getRoot()); AppHelper.setupBottomNavPadding(preViewBinding.getRoot()); @@ -117,7 +120,7 @@ public class GalleryActivity extends AppCompatActivity { preViewBinding.back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - finish(); + AdManager.showTopOn(GalleryActivity.this, () -> {finish();}); } }); } diff --git a/app/src/main/java/com/draw/painting/line/ui/MainActivity.java b/app/src/main/java/com/draw/painting/line/ui/MainActivity.java index 74fd101..f481c72 100644 --- a/app/src/main/java/com/draw/painting/line/ui/MainActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/MainActivity.java @@ -13,6 +13,7 @@ import androidx.fragment.app.Fragment; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.R; import com.draw.painting.line.databinding.ActivityMainBinding; import com.draw.painting.line.manager.AppHelper; diff --git a/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java b/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java index 2e53e10..42e33a8 100644 --- a/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java +++ b/app/src/main/java/com/draw/painting/line/ui/SplashActivity.java @@ -6,29 +6,37 @@ import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.content.Intent; import android.os.Bundle; +import android.os.CountDownTimer; import android.os.Handler; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; +import com.ad.toponlibrary.AdManager; import com.draw.painting.line.databinding.ActivitySplashBinding; import com.draw.painting.line.manager.AppHelper; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; + public class SplashActivity extends AppCompatActivity { private ActivitySplashBinding binding; private Handler handler = new Handler(); private boolean isAnimationComplete = false; + private CountDownTimer countDownTimer; + private static final long SPLASH_TIME_OUT = 15000; // 总时长15秒 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + AppHelper.enableEdgeToEdge(this); binding = ActivitySplashBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); AppHelper.setupWindowInsetsListener(binding.getRoot()); - + // 等待布局完成后再启动动画 binding.getRoot().post(new Runnable() { @Override @@ -39,86 +47,97 @@ public class SplashActivity extends AppCompatActivity { } private void startLaunchAnimation() { + countDownTimer = AdManager.showWelcomeAd(this, SPLASH_TIME_OUT, new Function1() { + @Override + public Unit invoke(Long aLong) { + int progressPercentage = (int) ((100 * aLong) / SPLASH_TIME_OUT); + int Percentage = 100 - progressPercentage; + binding.progressbar.setProgress(Percentage); + return null; + } + + }, new Function0() { + @Override + public Unit invoke() { + Intent intent = new Intent(SplashActivity.this, MainActivity.class); + startActivity(intent); + finish(); + return null; + } + }); + countDownTimer.start(); // 启动鹿的绘制动画(使用XML Vector Drawable路径) binding.deerView.startAnimation(); - + // 同步加载条:0-80% 与鹿的动画同步 // 新版可爱小鹿动画总时长 2.2s,加载条在鹿画到约80%时到达80% - animateProgressBar(0f, 0.8f, 2200, new Runnable() { - @Override - public void run() { - // 等待真实加载完成(这里可以添加实际的加载逻辑) - waitForLoading(); - } - }); +// animateProgressBar(0f, 0.8f, 15000, new Runnable() { +// @Override +// public void run() { +// // 等待真实加载完成(这里可以添加实际的加载逻辑) +// waitForLoading(); +// } +// }); } - private void animateProgressBar(float from, float to, long duration, Runnable onComplete) { - ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); - int maxWidth = binding.progressContainer.getWidth(); - - ValueAnimator animator = ValueAnimator.ofFloat(from, to); - animator.setDuration(duration); - animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - float progress = (float) animation.getAnimatedValue(); - params.width = (int) (maxWidth * progress); - binding.progressBar.setLayoutParams(params); - } - }); - - if (onComplete != null) { - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - onComplete.run(); - } - }); - } - - animator.start(); - } +// private void animateProgressBar(float from, float to, long duration, Runnable onComplete) { +// ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); +// int maxWidth = binding.progressContainer.getWidth(); +// +// ValueAnimator animator = ValueAnimator.ofFloat(from, to); +// animator.setDuration(duration); +// animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { +// @Override +// public void onAnimationUpdate(ValueAnimator animation) { +// float progress = (float) animation.getAnimatedValue(); +// params.width = (int) (maxWidth * progress); +// binding.progressBar.setLayoutParams(params); +// } +// }); +// +// if (onComplete != null) { +// animator.addListener(new AnimatorListenerAdapter() { +// @Override +// public void onAnimationEnd(Animator animation) { +// onComplete.run(); +// } +// }); +// } +// +// animator.start(); +// } - private void waitForLoading() { - // 模拟等待真实加载(实际项目中这里应该是真实的加载逻辑) - handler.postDelayed(new Runnable() { - @Override - public void run() { - completeLoading(); - } - }, 500); // 等待500ms - } - private void completeLoading() { - if (isAnimationComplete) return; - isAnimationComplete = true; - - // 快速完成加载条到100% - ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); - int maxWidth = binding.progressContainer.getWidth(); - - ValueAnimator animator = ValueAnimator.ofFloat(0.8f, 1.0f); - animator.setDuration(200); - animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - float progress = (float) animation.getAnimatedValue(); - params.width = (int) (maxWidth * progress); - binding.progressBar.setLayoutParams(params); - } - }); - - animator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - // 0.2s 淡出 - fadeOutAndEnter(); - } - }); - - animator.start(); - } + +// private void completeLoading() { +// if (isAnimationComplete) return; +// isAnimationComplete = true; +// +// // 快速完成加载条到100% +// ViewGroup.LayoutParams params = binding.progressBar.getLayoutParams(); +// int maxWidth = binding.progressContainer.getWidth(); +// +// ValueAnimator animator = ValueAnimator.ofFloat(0.8f, 1.0f); +// animator.setDuration(200); +// animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { +// @Override +// public void onAnimationUpdate(ValueAnimator animation) { +// float progress = (float) animation.getAnimatedValue(); +// params.width = (int) (maxWidth * progress); +// binding.progressBar.setLayoutParams(params); +// } +// }); +// +// animator.addListener(new AnimatorListenerAdapter() { +// @Override +// public void onAnimationEnd(Animator animation) { +// // 0.2s 淡出 +// fadeOutAndEnter(); +// } +// }); +// +// animator.start(); +// } private void fadeOutAndEnter() { ObjectAnimator fadeOut = ObjectAnimator.ofFloat(binding.getRoot(), "alpha", 1f, 0f); diff --git a/app/src/main/res/drawable/progress_fill.xml b/app/src/main/res/drawable/progress_fill.xml index 0ed4505..fd0251c 100644 --- a/app/src/main/res/drawable/progress_fill.xml +++ b/app/src/main/res/drawable/progress_fill.xml @@ -1,7 +1,21 @@ - - - - - + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index 05859bd..ee048bf 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -46,19 +46,30 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"> - - + + + + + + + + + + + + + + android:layout_centerHorizontal="true" + android:max="100" + android:progress="1" + android:progressDrawable="@drawable/progress_fill" + android:layout_marginTop="1dp"/> - - diff --git a/app/src/main/res/xml/net.xml b/app/src/main/res/xml/net.xml new file mode 100644 index 0000000..0ac6102 --- /dev/null +++ b/app/src/main/res/xml/net.xml @@ -0,0 +1,6 @@ + + + + mobile-server.lux-ad.com + + diff --git a/build.gradle.kts b/build.gradle.kts index c003a82..b937ed7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,4 +2,6 @@ plugins { id("com.android.application") version "8.11.1" apply false id("org.jetbrains.kotlin.android") version "2.2.21" apply false + id("com.google.gms.google-services") version "4.4.2" apply false + id ("com.google.firebase.crashlytics") version "3.0.2" apply false } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3e927b1..d703cac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 21e1348..7b99b74 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Dec 15 10:39:56 CST 2025 +#Sun Jan 04 17:49:22 CST 2026 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index b9361e9..b3cd4ff 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,6 +10,28 @@ dependencyResolutionManagement { repositories { google() mavenCentral() +// flatDir { +// dirs("libs") +// } + + //TU(Core) + maven ( "https://jfrog.anythinktech.com/artifactory/overseas_sdk") + + //Ironsource + maven ( "https://android-sdk.is.com/") + + //Pangle + maven ("https://artifact.bytedance.com/repository/pangle") + + //Mintegral + maven ("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") + + //Chartboost + maven ( "https://cboost.jfrog.io/artifactory/chartboost-ads") + maven ("https://cboost.jfrog.io/artifactory/chartboost-mediation") + + //TopOn集成测试工具 + maven ( "https://jfrog.anythinktech.com/artifactory/debugger") } }