diff --git a/android/build.gradle b/android/build.gradle index aca8e7f4..01bf05be 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,13 +1,13 @@ group 'com.befovy.fijkplayer' -version '0.11.0' +version '0.11.3' apply plugin: 'com.android.library' android { - compileSdkVersion 30 - + compileSdkVersion 35 + namespace "com.befovy.fijkplayer" defaultConfig { - minSdkVersion 16 + minSdkVersion flutter.minSdkVersion testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } lintOptions { diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 8f779b43..f8b3f12c 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 27920a61..c4e83de3 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1,3 @@ - + diff --git a/android/src/main/java/com/befovy/fijkplayer/FijkPlugin.java b/android/src/main/java/com/befovy/fijkplayer/FijkPlugin.java index fdff7ea0..4cbd0207 100644 --- a/android/src/main/java/com/befovy/fijkplayer/FijkPlugin.java +++ b/android/src/main/java/com/befovy/fijkplayer/FijkPlugin.java @@ -54,7 +54,7 @@ import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodChannel.MethodCallHandler; import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.PluginRegistry.Registrar; +//import io.flutter.plugin.common.PluginRegistry.Registrar; import io.flutter.view.TextureRegistry; import tv.danmaku.ijk.media.player.IjkMediaPlayer; @@ -81,7 +81,7 @@ public class FijkPlugin implements MethodCallHandler, FlutterPlugin, ActivityAwa private WeakReference mActivity; private WeakReference mContext; - private Registrar mRegistrar; + //private Registrar mRegistrar; private FlutterPluginBinding mBinding; // Count of playable players @@ -100,18 +100,17 @@ public class FijkPlugin implements MethodCallHandler, FlutterPlugin, ActivityAwa /** * Plugin registration. */ - @SuppressWarnings("unused") - public static void registerWith(Registrar registrar) { - final MethodChannel channel = new MethodChannel(registrar.messenger(), "befovy.com/fijk"); - FijkPlugin plugin = new FijkPlugin(); - plugin.initWithRegistrar(registrar); - channel.setMethodCallHandler(plugin); - - final FijkPlayer player = new FijkPlayer(plugin, true); - player.setupSurface(); - player.release(); - } - +// @SuppressWarnings("unused") +// public static void registerWith(Registrar registrar) { +// final MethodChannel channel = new MethodChannel(registrar.messenger(), "befovy.com/fijk"); +// FijkPlugin plugin = new FijkPlugin(); +// plugin.initWithRegistrar(registrar); +// channel.setMethodCallHandler(plugin); +// +// final FijkPlayer player = new FijkPlayer(plugin, true); +// player.setupSurface(); +// player.release(); +// } @Override public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { final MethodChannel channel = new MethodChannel(binding.getBinaryMessenger(), "befovy.com/fijk"); @@ -167,9 +166,10 @@ public void onDetachedFromActivity() { public TextureRegistry.SurfaceTextureEntry createSurfaceEntry() { if (mBinding != null) { return mBinding.getTextureRegistry().createSurfaceTexture(); - } else if (mRegistrar != null) { - return mRegistrar.textures().createSurfaceTexture(); } +// else if (mRegistrar != null) { +// return mRegistrar.textures().createSurfaceTexture(); +// } return null; } @@ -178,9 +178,10 @@ public TextureRegistry.SurfaceTextureEntry createSurfaceEntry() { public BinaryMessenger messenger() { if (mBinding != null) { return mBinding.getBinaryMessenger(); - } else if (mRegistrar != null) { - return mRegistrar.messenger(); } +// else if (mRegistrar != null) { +// return mRegistrar.messenger(); +// } return null; } @@ -195,9 +196,10 @@ public Context context() { @Nullable private Activity activity() { - if (mRegistrar != null) { - return mRegistrar.activity(); - } else if (mActivity != null) { +// if (mRegistrar != null) { +// return mRegistrar.activity(); +// } + if (mActivity != null) { return mActivity.get(); } else { return null; @@ -215,22 +217,23 @@ public String lookupKeyForAsset(@NonNull String asset, @Nullable String packageN //noinspection ConstantConditions path = mBinding.getFlutterAssets().getAssetFilePathByName(asset, packageName); } - } else if (mRegistrar != null) { - if (TextUtils.isEmpty(packageName)) { - path = mRegistrar.lookupKeyForAsset(asset); - } else { - path = mRegistrar.lookupKeyForAsset(asset, packageName); - } } +// else if (mRegistrar != null) { +// if (TextUtils.isEmpty(packageName)) { +// path = mRegistrar.lookupKeyForAsset(asset); +// } else { +// path = mRegistrar.lookupKeyForAsset(asset, packageName); +// } +// } return path; } - private void initWithRegistrar(@NonNull Registrar registrar) { - mRegistrar = registrar; - mContext = new WeakReference<>(registrar.activeContext()); - init(registrar.messenger()); - } +// private void initWithRegistrar(@NonNull Registrar registrar) { +// mRegistrar = registrar; +// mContext = new WeakReference<>(registrar.activeContext()); +// init(registrar.messenger()); +// } private void initWithBinding(@NonNull FlutterPluginBinding binding) { mBinding = binding; @@ -528,7 +531,7 @@ private void setScreenBrightness(float brightness) { } @TargetApi(26) - @SuppressWarnings("deprecation") + // @SuppressWarnings("deprecation") private void requestAudioFocus() { AudioManager audioManager = audioManager(); if (audioManager == null) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 2c8afc52..9fce4f10 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') @@ -22,25 +28,32 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" +//apply plugin: 'com.android.application' +//apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 33 + compileSdkVersion 35 + namespace "com.befovy.fijkplayer.demo" defaultConfig { applicationId "com.befovy.fijkplayer.demo" - minSdkVersion 16 - targetSdkVersion 33 + minSdkVersion flutter.minSdkVersion + targetSdkVersion 35 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + + ndk { + abiFilters 'arm64-v8a' + } } + aaptOptions { noCompress '.flv', '.mp4' } + buildTypes { release { // Signing with the debug keys for now, so `flutter run --release` works. @@ -49,6 +62,17 @@ android { // proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + + + applicationVariants.all { variant -> + variant.outputs.all { + def appName = "fijkplayer_example" + def buildType = variant.buildType.name + def versionName = variant.versionName + outputFileName = "${appName}-${versionName}-${buildType}.apk" + println(" L Terminal Run : cd " + rootProject.buildDir + "/app/outputs/apk/${buildType}/${outputFileName}") + } + } } flutter { diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 0943f564..ebf47111 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ + xmlns:tools="http://schemas.android.com/tools">