diff --git a/app/build.gradle b/app/build.gradle index 90a29ff..c462c0b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,11 +1,17 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 28 + lintOptions { + checkReleaseBuilds false + abortOnError false + } + + compileSdkVersion 30 defaultConfig { applicationId "com.imf.test" minSdkVersion 24 - targetSdkVersion 26 + //noinspection ExpiredTargetSdkVersion + targetSdkVersion 28 versionCode 1 versionName "1.0" diff --git a/app/src/main/assets/test.Assets b/app/src/main/assets/test.Assets deleted file mode 100644 index e69de29..0000000 diff --git a/build.gradle b/build.gradle index 629219f..f9883a3 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,8 @@ buildscript { repositories { maven { url uri("${rootDir}/maven") } - google() - jcenter() + maven { url "https://maven.aliyun.com/repository/google" } + maven { url "https://maven.aliyun.com/repository/jcenter" } } dependencies { classpath "com.android.tools.build:gradle:$ANDROID_GRADLE_VERSION" @@ -19,8 +19,8 @@ buildscript { allprojects { repositories { maven { url uri("${rootDir}/maven") } - google() - jcenter() + maven { url "https://maven.aliyun.com/repository/google" } + maven { url "https://maven.aliyun.com/repository/jcenter" } maven { url "https://raw.githubusercontent.com/Android-Mainli/Maven/master" } } } diff --git a/file-plugin/build.gradle b/file-plugin/build.gradle index ef093b4..66dfbcd 100644 --- a/file-plugin/build.gradle +++ b/file-plugin/build.gradle @@ -4,8 +4,8 @@ plugins { } repositories { - jcenter() - google() + maven { url "https://maven.aliyun.com/repository/jcenter" } + maven { url "https://maven.aliyun.com/repository/google" } mavenCentral() } @@ -21,8 +21,8 @@ dependencies { implementation gradleApi() //groovy sdk implementation localGroovy() - compileOnly "com.android.tools.build:gradle:4.1.1" - compileOnly "com.android.tools.build:gradle-api:4.1.1" + compileOnly "com.android.tools.build:gradle:$ANDROID_GRADLE_VERSION" + compileOnly "com.android.tools.build:gradle-api:$ANDROID_GRADLE_VERSION" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" } diff --git a/file-plugin/src/main/java/com/mainli/apk/ApkSign.java b/file-plugin/src/main/java/com/mainli/apk/ApkSign.java new file mode 100644 index 0000000..8d32135 --- /dev/null +++ b/file-plugin/src/main/java/com/mainli/apk/ApkSign.java @@ -0,0 +1,90 @@ +package com.mainli.apk; + +import com.android.apksig.ApkSigner; +import com.android.build.gradle.api.ApkVariant; +import com.android.builder.model.SigningConfig; + +import java.io.File; +import java.io.FileInputStream; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.PrivateKey; +import java.security.cert.Certificate; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ApkSign { + public static File sign(File inputApk, ApkVariant variant) { + return sign(inputApk, variant.getSigningConfig(), variant.getPackageApplicationProvider().get().getMinSdkVersion().get()); + } + + public static File sign(File inputApk, SigningConfig signingConfig, int minSdkVersion) { + File keystoreFile = signingConfig.getStoreFile(); + String keystorePassworld = signingConfig.getStorePassword(); + String keystoreAlias = signingConfig.getKeyAlias(); + String keystoreAliasPassworld = signingConfig.getKeyPassword(); + File outputApk = new File(inputApk.getParentFile(), "_single.apk"); + String defaultType = KeyStore.getDefaultType();//jks + try { + KeyStore ks = KeyStore.getInstance(defaultType); + loadKeyStoreFromFile(ks, keystoreFile, keystorePassworld); + if (ks.isKeyEntry(keystoreAlias)) { + Certificate[] certChain = ks.getCertificateChain(keystoreAlias); + + PrivateKey privateKey = (PrivateKey) ks.getKey(keystoreAlias, keystoreAliasPassworld.toCharArray()); + List certs = new ArrayList<>(certChain.length); + for (Certificate cert : certChain) { + certs.add((X509Certificate) cert); + } + String v1SigBasename = null; + String keyFileName = keystoreFile.getName(); + int delimiterIndex = keyFileName.indexOf('.'); + if (delimiterIndex == -1) { + v1SigBasename = keyFileName; + } else { + v1SigBasename = keyFileName.substring(0, delimiterIndex); + } + ApkSigner.SignerConfig signerConfig = new ApkSigner.SignerConfig.Builder(v1SigBasename, privateKey, certs).build(); + + + ApkSigner.Builder apkSignerBuilder = new ApkSigner.Builder(Arrays.asList(signerConfig)).setInputApk(inputApk).setOutputApk(outputApk).setOtherSignersSignaturesPreserved(false).setV1SigningEnabled(signingConfig.isV1SigningEnabled())// + .setV2SigningEnabled(signingConfig.isV2SigningEnabled())// + .setV3SigningEnabled(signingConfig.isV2SigningEnabled()); + apkSignerBuilder.setMinSdkVersion(minSdkVersion); + ApkSigner apkSigner = apkSignerBuilder.build(); + try { + apkSigner.sign(); + return outputApk; + } catch (Exception e) { + } + } + } catch (KeyStoreException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private static void loadKeyStoreFromFile(KeyStore ks, File file, String passwordStr) throws Exception { + List passwords = Arrays.asList(passwordStr.toCharArray()); + Exception lastFailure = null; + for (char[] password : passwords) { + try { + try (FileInputStream in = new FileInputStream(file)) { + ks.load(in, password); + } + return; + } catch (Exception e) { + lastFailure = e; + } + } + if (lastFailure == null) { + throw new RuntimeException("No keystore passwords"); + } else { + throw lastFailure; + } + } +} diff --git a/file-plugin/src/main/java/com/mainli/apk/ZipUtil.java b/file-plugin/src/main/java/com/mainli/apk/ZipUtil.java new file mode 100644 index 0000000..a859a15 --- /dev/null +++ b/file-plugin/src/main/java/com/mainli/apk/ZipUtil.java @@ -0,0 +1,145 @@ +package com.mainli.apk; + +import com.android.utils.FileUtils; + +import java.io.Closeable; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; + +public class ZipUtil { + private static final int BUFFERSIZE = 1024; + + public static File appendFile(File apk, String prefix, File file) { + if (apk == null || !apk.exists() || file == null || !file.exists()) { + return null; + } + File outPutApk = new File(apk.getParentFile(), "_appendFileUnsigned.apk"); + ZipFile inputZip = null; + FileOutputStream fileOutputStream = null; + ZipOutputStream zipOutputStream = null; + try { + inputZip = new ZipFile(apk); + Enumeration entries = inputZip.entries(); + //创建压缩包 + fileOutputStream = new FileOutputStream(outPutApk); + zipOutputStream = new ZipOutputStream(fileOutputStream); + while (entries.hasMoreElements()) { + addZipFile2ZipOutputStream(inputZip, entries.nextElement(), zipOutputStream); + } + StringBuilder builder = new StringBuilder(prefix); + if (builder.charAt(builder.length() - 1) == '/') { + builder.deleteCharAt(builder.length() - 1); + } + builder.append('/').append(file.getName()); + if (file.isDirectory()) { + builder.append('/'); + } + addFile2ZipOutputStream(file, builder.toString(), zipOutputStream); + zipOutputStream.flush(); + } catch (IOException e) { + e.printStackTrace(); + outPutApk = null; + } finally { + close(inputZip); + close(zipOutputStream); + } + return outPutApk; + } + + public static void addZipFile2ZipOutputStream(ZipFile inputZip, ZipEntry sourceZipEntry, ZipOutputStream zipOutputStream) { + InputStream is = null; + try { + is = inputZip.getInputStream(sourceZipEntry); + int len = 0; + zipOutputStream.putNextEntry(new ZipEntry(sourceZipEntry.getName())); + byte[] bufer = new byte[BUFFERSIZE]; + while ((len = is.read(bufer)) > 0) { + zipOutputStream.write(bufer, 0, len); + } + zipOutputStream.flush(); + zipOutputStream.closeEntry(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + close(is); + } + } + + public static void close(Closeable closeable) { + if (closeable != null) { + try { + closeable.close(); + } catch (IOException e) { + } + } + } + + public static void addFile2ZipOutputStream(File file, String relativePath, ZipOutputStream zos) { + InputStream is = null; + try { + if (!file.isDirectory()) { + ZipEntry zp = new ZipEntry(relativePath); + zos.putNextEntry(zp); + is = new FileInputStream(file); + byte[] buffer = new byte[BUFFERSIZE]; + int length = 0; + while ((length = is.read(buffer)) >= 0) { + zos.write(buffer, 0, length); + } + zos.flush(); + zos.closeEntry(); + } else { + String tempPath = null; + for (File f : file.listFiles()) { + tempPath = relativePath + f.getName(); + if (f.isDirectory()) { + tempPath += "/"; + } + addFile2ZipOutputStream(f, tempPath, zos); + } + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + close(is); + } + } + + public static File unZipFile(ZipFile inputZip, ZipEntry sourceZipEntry, File dir) { + if (inputZip == null || sourceZipEntry == null || dir == null) { + return null; + } + InputStream inputStream = null; + FileOutputStream outputStream = null; + try { + inputStream = inputZip.getInputStream(sourceZipEntry); + int len = 0; + File file = new File(dir, sourceZipEntry.getName()); + File parentFile = file.getParentFile(); + if (!parentFile.exists()) { + parentFile.mkdirs(); + } + outputStream = new FileOutputStream(file); + byte[] bufer = new byte[BUFFERSIZE]; + while ((len = inputStream.read(bufer)) > 0) { + outputStream.write(bufer, 0, len); + } + outputStream.flush(); + return file; + } catch (IOException e) { + e.printStackTrace(); + } finally { + close(outputStream); + close(inputStream); + } + return null; + } +} diff --git a/file-plugin/src/main/kotlin/com/imf/plugin/so/ApkSoLibStreamlineTask.kt b/file-plugin/src/main/kotlin/com/imf/plugin/so/ApkSoLibStreamlineTask.kt new file mode 100644 index 0000000..96573b6 --- /dev/null +++ b/file-plugin/src/main/kotlin/com/imf/plugin/so/ApkSoLibStreamlineTask.kt @@ -0,0 +1,128 @@ +package com.imf.plugin.so + +import com.android.build.gradle.AppExtension +import com.android.build.gradle.api.ApplicationVariant +import com.android.build.gradle.api.BaseVariantOutput +import com.android.ide.common.internal.WaitableExecutor +import com.mainli.apk.ApkSign +import com.mainli.apk.ZipUtil +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.TaskAction +import java.io.File +import java.io.FileOutputStream +import java.io.IOException +import java.util.zip.ZipFile +import java.util.zip.ZipOutputStream +import javax.inject.Inject + + +open class ApkSoLibStreamlineTask @Inject constructor( + val android: AppExtension, + val pluginConfig: SoFileExtensions, + val intermediatesDir: File, + val variantName: String +) : DefaultTask() { + + @TaskAction + fun run() { + android.applicationVariants.all { variant -> + if (variant.name == variantName) { + var apkFile: File? = getApkFile(variant) + if (apkFile == null) { + log("apk文件目录未找到定义,请升级插件") + System.exit(2) + } + val oldSize = apkFile!!.length() + val newApk = streamlineApkSoFile(apkFile) + if (newApk?.exists() == true) { + val signApk = ApkSign.sign(newApk, variant) + newApk.delete() + signApk.renameTo(apkFile) + val newSize = apkFile!!.length() + val oldSizeM = oldSize / 1024f / 1024f + val newSizeM = newSize / 1024f / 1024f + val changeSizeM = (oldSize - newSize) / 1024f / 1024f + log("处理前Apk Size:${oldSizeM}M, 处理后Apk Size:${newSizeM}M, 优化 Size${changeSizeM}M") + } + } + } + } + + private fun getApkFile(variant: ApplicationVariant): File? { + var outputFile: File? = null + variant.outputs.all { output: BaseVariantOutput -> + try { + outputFile = File( + variant.packageApplicationProvider.get().outputDirectory.get().asFile.absolutePath, + output.outputFile.name + ) + } catch (e: Exception) { + } finally { + outputFile = outputFile ?: output.outputFile + } + } + return outputFile + } + + fun log(msg: Any) { + project.logger.info("[ApkSoLibStreamlineTask]: ${msg}") +// println("[ApkSoLibStreamlineTask]: ${msg}") + } + + open fun streamlineApkSoFile(apk: File?): File? { + if (apk == null || !apk.exists()) { + return null + } + val outPutApk = File(apk.parentFile, "_streamlineApkBySoFile.apk") + var inputZip: ZipFile? = null + var zipOutputStream: ZipOutputStream? = null + try { + inputZip = ZipFile(apk) + val inputEntries = inputZip.entries() + zipOutputStream = ZipOutputStream(FileOutputStream(outPutApk)) + val streamlineFile = File(apk.canonicalFile.parentFile, "streamline") + while (inputEntries.hasMoreElements()) { + val inputZipEntry = inputEntries.nextElement() + val name = inputZipEntry.name + if (name.startsWith("lib/")) { + ZipUtil.unZipFile(inputZip, inputZipEntry, streamlineFile) + continue + } + ZipUtil.addZipFile2ZipOutputStream(inputZip, inputZipEntry, zipOutputStream) + } + + val executor: WaitableExecutor = WaitableExecutor.useGlobalSharedThreadPool() + val soHandle = SoHandle(variantName, + pluginConfig, + object : AssetsOutDestManager(variantName, intermediatesDir) { + override fun buildAssetsOutDestFile(): File { + return File(streamlineFile, JNI_LIBS) + } + }) + soHandle.perform7z( + File(streamlineFile, "lib"), executor, null + ) + executor.waitForTasksWithQuickFail(true); + soHandle.resultWriteToFile() + ZipUtil.addFile2ZipOutputStream( + File(streamlineFile, "jniLibs"), "assets/jniLibs/", zipOutputStream + ) + ZipUtil.addFile2ZipOutputStream( + File(streamlineFile, "lib"), "lib/", zipOutputStream + ) + zipOutputStream.flush() + return outPutApk + } catch (e: IOException) { + e.printStackTrace() + if (outPutApk.exists()) { + outPutApk.delete() + } + } finally { + ZipUtil.close(inputZip) + ZipUtil.close(zipOutputStream) + } + return null + } + + +} \ No newline at end of file diff --git a/file-plugin/src/main/kotlin/com/imf/plugin/so/AssetsOutDestManager.kt b/file-plugin/src/main/kotlin/com/imf/plugin/so/AssetsOutDestManager.kt index 5450b72..321a32b 100644 --- a/file-plugin/src/main/kotlin/com/imf/plugin/so/AssetsOutDestManager.kt +++ b/file-plugin/src/main/kotlin/com/imf/plugin/so/AssetsOutDestManager.kt @@ -7,7 +7,7 @@ import java.io.FileOutputStream import java.util.jar.JarEntry import java.util.jar.JarOutputStream -class AssetsOutDestManager(val variantName: String, val intermediatesDir: File) { +open class AssetsOutDestManager(val variantName: String, val intermediatesDir: File) { val ASSETS_ROOT = "merged_assets" val COMPRESSED_ASSETS = "compressed_assets" val JNI_LIBS = "jniLibs" @@ -17,7 +17,7 @@ class AssetsOutDestManager(val variantName: String, val intermediatesDir: File) //debug -> mergeDebugAssets/out/jniLibs - private fun buildAssetsOutDestFile(): File { + protected open fun buildAssetsOutDestFile(): File { var outDir = FileUtils.join(intermediatesDir, ASSETS_ROOT, variantName, "out") if (outDir.exists()) { return File(outDir, JNI_LIBS) diff --git a/file-plugin/src/main/kotlin/com/imf/plugin/so/Plugin.kt b/file-plugin/src/main/kotlin/com/imf/plugin/so/Plugin.kt index 9c4c938..54700ab 100644 --- a/file-plugin/src/main/kotlin/com/imf/plugin/so/Plugin.kt +++ b/file-plugin/src/main/kotlin/com/imf/plugin/so/Plugin.kt @@ -4,7 +4,7 @@ import com.android.build.gradle.AppExtension import com.android.utils.FileUtils import org.gradle.api.Plugin import org.gradle.api.Project -import java.io.File +import java.io.* import java.util.stream.Collectors abstract class SoFilePlugin : Plugin { @@ -16,7 +16,7 @@ abstract class SoFilePlugin : Plugin { android = project.extensions.getByType(AppExtension::class.java) intermediatesDir = FileUtils.join(project.buildDir, "intermediates") project.afterEvaluate { - afterProjectEvaluate(it); + afterProjectEvaluate(it) } } @@ -28,8 +28,8 @@ abstract class SoFilePlugin : Plugin { pluginConfig.exe7zName = "7z.exe" } val minSdkVersion: Int = defaultConfig.minSdkVersion?.apiLevel ?: 0 - pluginConfig.neededRetainAllDependencies = pluginConfig.forceNeededRetainAllDependencies - ?: (minSdkVersion <= 23) + pluginConfig.neededRetainAllDependencies = + pluginConfig.forceNeededRetainAllDependencies ?: (minSdkVersion <= 23) } } @@ -40,6 +40,7 @@ class SoFileTransformPlugin : SoFilePlugin() { } } +@Deprecated("") class SoFileAttachMergeTaskPlugin : SoFilePlugin() { override fun afterProjectEvaluate(project: Project) { super.afterProjectEvaluate(project) @@ -52,23 +53,75 @@ class SoFileAttachMergeTaskPlugin : SoFilePlugin() { }.collect(Collectors.toSet()) if (!buildTypes.isNullOrEmpty()) { val tasks = project.tasks - buildTypes!!.forEach { variantName: String -> - val upperCaseName = upperCase(variantName) + buildTypes.forEach { variantName: String -> + val upperCaseName = variantName.capitalize() val taskName = "merge${upperCaseName}NativeLibs" val mergeNativeLibsTask = tasks.findByName(taskName) if (mergeNativeLibsTask == null) { tasks.forEach { if (it.name.equals(taskName)) { - it.doLast(SoFileVariantAction(variantName, pluginConfig, intermediatesDir)) + it.doLast( + SoFileVariantAction( + variantName, pluginConfig, intermediatesDir + ) + ) } } } else { - mergeNativeLibsTask.doLast(SoFileVariantAction(variantName, pluginConfig, intermediatesDir)) + mergeNativeLibsTask.doLast( + SoFileVariantAction( + variantName, pluginConfig, intermediatesDir + ) + ) } } } } - - private fun upperCase(str: String): String = str.substring(0, 1).toUpperCase() + str.substring(1) } + +class ApkSoFileAdjustPlugin : SoFilePlugin() { + override fun afterProjectEvaluate(project: Project) { + super.afterProjectEvaluate(project) + android.applicationVariants.all { variant -> + val variantName = variant.name + createTask(project, variantName) + } + + android.buildTypes.all { buildType -> + val buildTypeName = buildType.name + createTask(project, buildTypeName) + } + + android.productFlavors.all { flavor -> + val flavorName = flavor.name + createTask(project, flavorName) + } + } + + fun createTask(project: Project, variantName: String) { + val capitalizeVariantName = variantName.capitalize() + val taskName = "ApkSoFileAdjust${capitalizeVariantName}" + val excludeBuildTypes = pluginConfig.excludeBuildTypes + if (!excludeBuildTypes.isNullOrEmpty()) { + if (excludeBuildTypes.contains(variantName)) { + return + } + } + if (project.tasks.findByPath(taskName) == null) { + val task = project.tasks.create( + taskName, + ApkSoLibStreamlineTask::class.java, + android, + pluginConfig, + intermediatesDir, + variantName + ) + task.group = "Build" + task.description = "进行so共享库处理" + task.dependsOn.add("package${capitalizeVariantName}") + project.tasks.findByPath("assemble${capitalizeVariantName}")?.dependsOn?.add(task) + + } + } +} diff --git a/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileTransform.kt b/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileTransform.kt index 801d7c0..75eb442 100644 --- a/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileTransform.kt +++ b/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileTransform.kt @@ -1,16 +1,18 @@ package com.imf.plugin.so import com.android.build.api.transform.* +import com.android.build.gradle.internal.pipeline.ExtendedContentType import com.android.build.gradle.internal.pipeline.TransformManager import com.android.ide.common.internal.WaitableExecutor import com.android.utils.FileUtils +import com.google.common.collect.ImmutableSet import java.io.File class SoFileTransform(val extension: SoFileExtensions, val intermediatesDir: File) : Transform() { override fun getName(): String = "soFileTransform" override fun getInputTypes(): MutableSet { - return TransformManager.CONTENT_NATIVE_LIBS + return ImmutableSet.of(ExtendedContentType.NATIVE_LIBS) } override fun getScopes(): MutableSet = TransformManager.SCOPE_FULL_PROJECT; diff --git a/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileVariantAction.kt b/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileVariantAction.kt index fdf011f..e9ac916 100644 --- a/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileVariantAction.kt +++ b/file-plugin/src/main/kotlin/com/imf/plugin/so/SoFileVariantAction.kt @@ -21,7 +21,7 @@ class SoFileVariantAction(val variantName: String, val extension: SoFileExtensio } //debug -> intermediates\merged_native_libs\debug\out\lib - private fun buildMergedNativeLibsFile(variantName: String): File { + public fun buildMergedNativeLibsFile(variantName: String): File { return FileUtils.join(intermediatesDir, "merged_native_libs", variantName, "out", "lib") } diff --git a/file-plugin/src/main/kotlin/com/imf/plugin/so/SoHandle.kt b/file-plugin/src/main/kotlin/com/imf/plugin/so/SoHandle.kt index 412f227..0d3e697 100644 --- a/file-plugin/src/main/kotlin/com/imf/plugin/so/SoHandle.kt +++ b/file-plugin/src/main/kotlin/com/imf/plugin/so/SoHandle.kt @@ -178,7 +178,7 @@ class SoHandle(variantName: String, val extension: SoFileExtensions, val assetsO } private fun log(message: String) { - println(message) +// println(message) } //liblog.so -> log diff --git a/file-plugin/src/main/resources/META-INF/gradle-plugins/ApkSoFileAdjustPlugin.properties b/file-plugin/src/main/resources/META-INF/gradle-plugins/ApkSoFileAdjustPlugin.properties new file mode 100644 index 0000000..5030acd --- /dev/null +++ b/file-plugin/src/main/resources/META-INF/gradle-plugins/ApkSoFileAdjustPlugin.properties @@ -0,0 +1 @@ +implementation-class=com.imf.plugin.so.ApkSoFileAdjustPlugin \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 08fae22..ab686eb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ android.enableJetifier=true -ANDROID_GRADLE_VERSION=3.6.0 +ANDROID_GRADLE_VERSION=4.2.0 #SO_PLUGIN_VERSION=0.0.4-SNAPSHOT -SO_PLUGIN_VERSION=0.0.6 +SO_PLUGIN_VERSION=0.0.7 userPlugin=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 13d0975..b80da98 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/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-6.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip diff --git a/load-hook-plugin/build.gradle b/load-hook-plugin/build.gradle index 8872957..36a1de9 100644 --- a/load-hook-plugin/build.gradle +++ b/load-hook-plugin/build.gradle @@ -1,8 +1,8 @@ apply plugin: 'groovy' repositories { - jcenter() - google() + maven { url "https://maven.aliyun.com/repository/jcenter" } + maven { url "https://maven.aliyun.com/repository/google" } } dependencies { diff --git a/load-hook-plugin/src/main/groovy/com/imf/plugin/so/LoadLibraryVisitor.groovy b/load-hook-plugin/src/main/groovy/com/imf/plugin/so/LoadLibraryVisitor.groovy index 13a652e..63a8227 100644 --- a/load-hook-plugin/src/main/groovy/com/imf/plugin/so/LoadLibraryVisitor.groovy +++ b/load-hook-plugin/src/main/groovy/com/imf/plugin/so/LoadLibraryVisitor.groovy @@ -55,7 +55,7 @@ class LoadLibraryVisitor extends ClassVisitor { AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { if (!visible && !isClassSkip && ANNOTATION.equals(descriptor)) { isClassSkip = true; - println "类${className} isClassSkip = ${isClassSkip} ,注解信息 descriptor=${descriptor} , visible=$visible" +// println "类${className} isClassSkip = ${isClassSkip} ,注解信息 descriptor=${descriptor} , visible=$visible" } return super.visitAnnotation(descriptor, visible); } @@ -81,9 +81,9 @@ class LoadLibraryVisitor extends ClassVisitor { if (!visible) { isMethodSkip = ANNOTATION.equals(annotationDesc) } - if(isMethodSkip){ - println "方法${className}.${name} 注解 isMethodSkip = ${isMethodSkip} , descriptor=${annotationDesc} , visible=$visible" - } +// if(isMethodSkip){ +// println "方法${className}.${name} 注解 isMethodSkip = ${isMethodSkip} , descriptor=${annotationDesc} , visible=$visible" +// } return super.visitAnnotation(annotationDesc, visible) } @@ -94,7 +94,7 @@ class LoadLibraryVisitor extends ClassVisitor { && LoadLibraryVisitor.TARGET_FLAG.equals(owner) // && (LoadLibraryVisitor.LOAD_LIBRARY.equals(methodName) || LoadLibraryVisitor.LOAD.equals(methodName))) { owner = LoadLibraryVisitor.SO_LOAD_HOOK - println "[So Load Hook到目标类]: ${className}.${methodName}" +// println "[So Load Hook到目标类]: ${className}.${methodName}" } super.visitMethodInsn(opcode, owner, methodName, methodDesc, itf); } diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar new file mode 100644 index 0000000..7777a48 Binary files /dev/null and b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar differ diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar.md5 b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar.md5 new file mode 100644 index 0000000..ded17d9 --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar.md5 @@ -0,0 +1 @@ +f31d1bf18f40a03c436b935208ac215b \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar.sha1 b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar.sha1 new file mode 100644 index 0000000..9e7b3ac --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7-sources.jar.sha1 @@ -0,0 +1 @@ +aecd3dc69e5fba236e07aa7675061e761cf05841 \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar new file mode 100644 index 0000000..eec782c Binary files /dev/null and b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar differ diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar.md5 b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar.md5 new file mode 100644 index 0000000..6e6854e --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar.md5 @@ -0,0 +1 @@ +938f2c0615697b0b0829f74430f06034 \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar.sha1 b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar.sha1 new file mode 100644 index 0000000..247d60b --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.aar.sha1 @@ -0,0 +1 @@ +d1ff1748ead4a794e8ed99aeac35e8790d51f7b8 \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom new file mode 100644 index 0000000..819e838 --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom @@ -0,0 +1,9 @@ + + + 4.0.0 + com.imf.so + android-un7z + 0.0.7 + aar + diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom.md5 b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom.md5 new file mode 100644 index 0000000..13dee1c --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom.md5 @@ -0,0 +1 @@ +50cc408e462d0779471a8ae50e181052 \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom.sha1 b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom.sha1 new file mode 100644 index 0000000..27ac40c --- /dev/null +++ b/maven/com/imf/so/android-un7z/0.0.7/android-un7z-0.0.7.pom.sha1 @@ -0,0 +1 @@ +b9ea4486a32d9794e7403f9f98d6a86a555783f9 \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/maven-metadata.xml b/maven/com/imf/so/android-un7z/maven-metadata.xml index 644b5d5..5fdb4ca 100644 --- a/maven/com/imf/so/android-un7z/maven-metadata.xml +++ b/maven/com/imf/so/android-un7z/maven-metadata.xml @@ -3,7 +3,7 @@ com.imf.so android-un7z - 0.0.6 + 0.0.7 0.0.1 0.0.2 @@ -12,7 +12,8 @@ 0.0.4 0.0.5 0.0.6 + 0.0.7 - 20211202061847 + 20221009082816 diff --git a/maven/com/imf/so/android-un7z/maven-metadata.xml.md5 b/maven/com/imf/so/android-un7z/maven-metadata.xml.md5 index 5f3e72a..0ec30af 100644 --- a/maven/com/imf/so/android-un7z/maven-metadata.xml.md5 +++ b/maven/com/imf/so/android-un7z/maven-metadata.xml.md5 @@ -1 +1 @@ -4411735accee9e0298d4bc5dec5709b1 \ No newline at end of file +2a0a869a1a4078a87038fc8b0c562ec0 \ No newline at end of file diff --git a/maven/com/imf/so/android-un7z/maven-metadata.xml.sha1 b/maven/com/imf/so/android-un7z/maven-metadata.xml.sha1 index 6f04581..8b9f5ad 100644 --- a/maven/com/imf/so/android-un7z/maven-metadata.xml.sha1 +++ b/maven/com/imf/so/android-un7z/maven-metadata.xml.sha1 @@ -1 +1 @@ -3803bbf1008cdbe8fdab895acf13d5bf6702cc04 \ No newline at end of file +fc79026d699cdf1a18b331d3ad9398e751675af8 \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar new file mode 100644 index 0000000..0e1477c Binary files /dev/null and b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar differ diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar.md5 b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar.md5 new file mode 100644 index 0000000..dec754f --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar.md5 @@ -0,0 +1 @@ +4dfdd54e72521f02f57d4e9646a4b861 \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar.sha1 b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar.sha1 new file mode 100644 index 0000000..6f620d6 --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7-sources.jar.sha1 @@ -0,0 +1 @@ +a2babb05eec5a943ac09375687c5057fe651bb06 \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar new file mode 100644 index 0000000..da11fca Binary files /dev/null and b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar differ diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar.md5 b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar.md5 new file mode 100644 index 0000000..8cec9f5 --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar.md5 @@ -0,0 +1 @@ +714b1f4176e19a2e06c49377b16b954c \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar.sha1 b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar.sha1 new file mode 100644 index 0000000..7942c8f --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.jar.sha1 @@ -0,0 +1 @@ +91111b80533b8350d625bcd439eb0bf402b2659e \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom new file mode 100644 index 0000000..eb5fa83 --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom @@ -0,0 +1,15 @@ + + + 4.0.0 + com.imf.so + file-plugin + 0.0.7 + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + 1.3.72 + runtime + + + diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom.md5 b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom.md5 new file mode 100644 index 0000000..65f80c8 --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom.md5 @@ -0,0 +1 @@ +b58ed9bb5cc25c124213272be43d1cc6 \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom.sha1 b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom.sha1 new file mode 100644 index 0000000..8f9e444 --- /dev/null +++ b/maven/com/imf/so/file-plugin/0.0.7/file-plugin-0.0.7.pom.sha1 @@ -0,0 +1 @@ +27c75b9456f1e03415fec06d30434542b3d21f17 \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/maven-metadata.xml b/maven/com/imf/so/file-plugin/maven-metadata.xml index 7f2da10..d289c7d 100644 --- a/maven/com/imf/so/file-plugin/maven-metadata.xml +++ b/maven/com/imf/so/file-plugin/maven-metadata.xml @@ -3,7 +3,7 @@ com.imf.so file-plugin - 0.0.6 + 0.0.7 0.0.1 0.0.2 @@ -12,7 +12,8 @@ 0.0.4 0.0.5 0.0.6 + 0.0.7 - 20211202061854 + 20221009082818 diff --git a/maven/com/imf/so/file-plugin/maven-metadata.xml.md5 b/maven/com/imf/so/file-plugin/maven-metadata.xml.md5 index fb3c4f6..1dbbbe6 100644 --- a/maven/com/imf/so/file-plugin/maven-metadata.xml.md5 +++ b/maven/com/imf/so/file-plugin/maven-metadata.xml.md5 @@ -1 +1 @@ -6c8a72d2709e80566000e6a3016e582e \ No newline at end of file +4219b3a05d3401b4f2faaad7f6bfbd27 \ No newline at end of file diff --git a/maven/com/imf/so/file-plugin/maven-metadata.xml.sha1 b/maven/com/imf/so/file-plugin/maven-metadata.xml.sha1 index 99f1077..d58eba5 100644 --- a/maven/com/imf/so/file-plugin/maven-metadata.xml.sha1 +++ b/maven/com/imf/so/file-plugin/maven-metadata.xml.sha1 @@ -1 +1 @@ -87af4525b4994449815a5c04365f6f05b136e186 \ No newline at end of file +41824c46bdd9567dfb73bd077c4769614bae1cdf \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar new file mode 100644 index 0000000..0efa560 Binary files /dev/null and b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar differ diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar.md5 b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar.md5 new file mode 100644 index 0000000..482357c --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar.md5 @@ -0,0 +1 @@ +6514f885329ef731ca6a9fe2763753ee \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar.sha1 b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar.sha1 new file mode 100644 index 0000000..fc14c7e --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7-sources.jar.sha1 @@ -0,0 +1 @@ +a2d5071193780a844315582437a318908007f982 \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar new file mode 100644 index 0000000..1120bda Binary files /dev/null and b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar differ diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar.md5 b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar.md5 new file mode 100644 index 0000000..2576bde --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar.md5 @@ -0,0 +1 @@ +00ab6b1371c381aa24db16aac5a09fd8 \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar.sha1 b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar.sha1 new file mode 100644 index 0000000..d059119 --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.aar.sha1 @@ -0,0 +1 @@ +86b78031f147fcd1c65f5fecbf96847d4a6c6f13 \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom new file mode 100644 index 0000000..2c90c92 --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom @@ -0,0 +1,23 @@ + + + 4.0.0 + com.imf.so + load-assets-7z + 0.0.7 + aar + + + com.imf.so + load-hook + 0.0.7 + compile + + + com.imf.so + android-un7z + 0.0.7 + compile + + + diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom.md5 b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom.md5 new file mode 100644 index 0000000..27f0c8b --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom.md5 @@ -0,0 +1 @@ +7c1b90a628c01e9aa662e6f328495416 \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom.sha1 b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom.sha1 new file mode 100644 index 0000000..3c8bb66 --- /dev/null +++ b/maven/com/imf/so/load-assets-7z/0.0.7/load-assets-7z-0.0.7.pom.sha1 @@ -0,0 +1 @@ +35dcc2290a1f3c4eb20473ad53430bccafa89ed8 \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/maven-metadata.xml b/maven/com/imf/so/load-assets-7z/maven-metadata.xml index 73cea89..2c7ff98 100644 --- a/maven/com/imf/so/load-assets-7z/maven-metadata.xml +++ b/maven/com/imf/so/load-assets-7z/maven-metadata.xml @@ -3,7 +3,7 @@ com.imf.so load-assets-7z - 0.0.6 + 0.0.7 0.0.1 0.0.2 @@ -12,7 +12,8 @@ 0.0.4 0.0.5 0.0.6 + 0.0.7 - 20211202061901 + 20221009082822 diff --git a/maven/com/imf/so/load-assets-7z/maven-metadata.xml.md5 b/maven/com/imf/so/load-assets-7z/maven-metadata.xml.md5 index 8687ea5..480c469 100644 --- a/maven/com/imf/so/load-assets-7z/maven-metadata.xml.md5 +++ b/maven/com/imf/so/load-assets-7z/maven-metadata.xml.md5 @@ -1 +1 @@ -d796d158521daa71f1e58e7802f87701 \ No newline at end of file +dc1c3264513ae7fdc47824755b2b07f5 \ No newline at end of file diff --git a/maven/com/imf/so/load-assets-7z/maven-metadata.xml.sha1 b/maven/com/imf/so/load-assets-7z/maven-metadata.xml.sha1 index b56f4c3..de749e0 100644 --- a/maven/com/imf/so/load-assets-7z/maven-metadata.xml.sha1 +++ b/maven/com/imf/so/load-assets-7z/maven-metadata.xml.sha1 @@ -1 +1 @@ -1acc29dfc7b51622359dd5eb9df103f99e5bd3a6 \ No newline at end of file +e2d217402a6c5d18f380c33d1cbc72102cabbcec \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar new file mode 100644 index 0000000..6502374 Binary files /dev/null and b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar differ diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar.md5 b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar.md5 new file mode 100644 index 0000000..12e4970 --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar.md5 @@ -0,0 +1 @@ +f00c6893db8c7384c8167ba5bc511e01 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar.sha1 b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar.sha1 new file mode 100644 index 0000000..68c8ba5 --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7-sources.jar.sha1 @@ -0,0 +1 @@ +286ed823943df920137932fe63604959b1e20612 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar new file mode 100644 index 0000000..bfdea39 Binary files /dev/null and b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar differ diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar.md5 b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar.md5 new file mode 100644 index 0000000..7901cdd --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar.md5 @@ -0,0 +1 @@ +7837fdbf0c6274b65ad9e1b75b446432 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar.sha1 b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar.sha1 new file mode 100644 index 0000000..e93abdf --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.jar.sha1 @@ -0,0 +1 @@ +b37c7eb95dde89c57dba66966daf00e480803cb3 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom new file mode 100644 index 0000000..670404d --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom @@ -0,0 +1,22 @@ + + + 4.0.0 + com.imf.so + load-hook-plugin + 0.0.7 + + + com.android.tools.build + gradle + 4.2.0 + runtime + + + com.android.tools.build + gradle-api + 4.2.0 + runtime + + + diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom.md5 b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom.md5 new file mode 100644 index 0000000..a38e78e --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom.md5 @@ -0,0 +1 @@ +2b5502dafe21789560f7b8578f49cb4f \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom.sha1 b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom.sha1 new file mode 100644 index 0000000..6ab502c --- /dev/null +++ b/maven/com/imf/so/load-hook-plugin/0.0.7/load-hook-plugin-0.0.7.pom.sha1 @@ -0,0 +1 @@ +84b31691fd842a8287b0a10d87d910ca26f80f35 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/maven-metadata.xml b/maven/com/imf/so/load-hook-plugin/maven-metadata.xml index 1d31f68..20fe080 100644 --- a/maven/com/imf/so/load-hook-plugin/maven-metadata.xml +++ b/maven/com/imf/so/load-hook-plugin/maven-metadata.xml @@ -3,7 +3,7 @@ com.imf.so load-hook-plugin - 0.0.6 + 0.0.7 0.0.1 0.0.2 @@ -12,7 +12,8 @@ 0.0.4 0.0.5 0.0.6 + 0.0.7 - 20211202061859 + 20221009082821 diff --git a/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.md5 b/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.md5 index b1ad996..eb40874 100644 --- a/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.md5 +++ b/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.md5 @@ -1 +1 @@ -cd9513530db10ace40debc612637cfaa \ No newline at end of file +7440f9fbc5c6703b196acd6a9c83c2bb \ No newline at end of file diff --git a/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.sha1 b/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.sha1 index ed47026..bb122ef 100644 --- a/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.sha1 +++ b/maven/com/imf/so/load-hook-plugin/maven-metadata.xml.sha1 @@ -1 +1 @@ -216e4a30ce42f83eebc6ddd21c5584766bdccb48 \ No newline at end of file +e5bdf36897104b6576319626552fc46cd6c42922 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar new file mode 100644 index 0000000..fa8bf73 Binary files /dev/null and b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar differ diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar.md5 b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar.md5 new file mode 100644 index 0000000..1c89f15 --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar.md5 @@ -0,0 +1 @@ +e2874260e2acb60de443273ab8bce429 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar.sha1 b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar.sha1 new file mode 100644 index 0000000..ca75796 --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7-sources.jar.sha1 @@ -0,0 +1 @@ +49818278b0246e9bacd12f7168ca69477f1b56be \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar new file mode 100644 index 0000000..ff2ee7f Binary files /dev/null and b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar differ diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar.md5 b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar.md5 new file mode 100644 index 0000000..740cb87 --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar.md5 @@ -0,0 +1 @@ +293875b96c955c2b2a19eb6be464e8d7 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar.sha1 b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar.sha1 new file mode 100644 index 0000000..04553bf --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.aar.sha1 @@ -0,0 +1 @@ +27969c371de0f2e2e0ae25f57999411b3ee687d8 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom new file mode 100644 index 0000000..1c17c80 --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom @@ -0,0 +1,9 @@ + + + 4.0.0 + com.imf.so + load-hook + 0.0.7 + aar + diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom.md5 b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom.md5 new file mode 100644 index 0000000..cda9e1a --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom.md5 @@ -0,0 +1 @@ +5d37f63c47554c2d9e49a6a047427787 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom.sha1 b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom.sha1 new file mode 100644 index 0000000..3734683 --- /dev/null +++ b/maven/com/imf/so/load-hook/0.0.7/load-hook-0.0.7.pom.sha1 @@ -0,0 +1 @@ +6c6a192ca65bf572c4c004eabf9685d4259cfb97 \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/maven-metadata.xml b/maven/com/imf/so/load-hook/maven-metadata.xml index 02f17c5..328902b 100644 --- a/maven/com/imf/so/load-hook/maven-metadata.xml +++ b/maven/com/imf/so/load-hook/maven-metadata.xml @@ -3,7 +3,7 @@ com.imf.so load-hook - 0.0.6 + 0.0.7 0.0.1 0.0.2 @@ -12,7 +12,8 @@ 0.0.4 0.0.5 0.0.6 + 0.0.7 - 20211202061856 + 20221009082819 diff --git a/maven/com/imf/so/load-hook/maven-metadata.xml.md5 b/maven/com/imf/so/load-hook/maven-metadata.xml.md5 index 020491f..69045a7 100644 --- a/maven/com/imf/so/load-hook/maven-metadata.xml.md5 +++ b/maven/com/imf/so/load-hook/maven-metadata.xml.md5 @@ -1 +1 @@ -d376e125f71d260158cbddca53cc11f2 \ No newline at end of file +1eb58ce48fa85ad0ad62e3f26f66040b \ No newline at end of file diff --git a/maven/com/imf/so/load-hook/maven-metadata.xml.sha1 b/maven/com/imf/so/load-hook/maven-metadata.xml.sha1 index 9755f77..3fc3908 100644 --- a/maven/com/imf/so/load-hook/maven-metadata.xml.sha1 +++ b/maven/com/imf/so/load-hook/maven-metadata.xml.sha1 @@ -1 +1 @@ -7cacf08a1e480c3e45a7af5ed1eec23e7f5fc7dd \ No newline at end of file +431044dacbd640edd6fa4539c56da7a3eada6e7d \ No newline at end of file diff --git a/runTest.sh b/runTest.sh new file mode 100755 index 0000000..bee7d23 --- /dev/null +++ b/runTest.sh @@ -0,0 +1,2 @@ +./gradlew -q -P userPlugin=false :file-plugin:upload +./gradlew clean :app:assembleDebug -q --stacktrace \ No newline at end of file diff --git a/so-file-config.gradle b/so-file-config.gradle index accb0ee..1a4c3c2 100644 --- a/so-file-config.gradle +++ b/so-file-config.gradle @@ -8,11 +8,12 @@ * SoFileAttachMergeTaskPlugin则在指定文件夹中处理 */ //apply plugin: 'SoFileTransformPlugin' -apply plugin: 'SoFileAttachMergeTaskPlugin' +//apply plugin: 'SoFileAttachMergeTaskPlugin' +apply plugin: 'ApkSoFileAdjustPlugin' SoFileConfig { useAppendActionMethod = false //设置debug下不删除与压缩so库 -// excludeBuildTypes = ['debug'] +// excludeBuildTypes = ['debug'] /** * 强制保留所有依赖 diff --git a/uploadAll.sh b/uploadAll.sh index 428eb8c..4c4bdab 100755 --- a/uploadAll.sh +++ b/uploadAll.sh @@ -4,10 +4,10 @@ if [ "$1" == "-rM" ]; then git checkout HEAD maven fi echo ---------------------------------------------------------开始上传maven--------------------------------------------------------- -./gradlew -P userPlugin=false clean -./gradlew -P userPlugin=false :android-un7z:upload -./gradlew -P userPlugin=false :file-plugin:upload -./gradlew -P userPlugin=false :load-hook:upload -./gradlew -P userPlugin=false :load-hook-plugin:upload -./gradlew -P userPlugin=false :load-assets-7z:upload +./gradlew -q -P userPlugin=false clean +./gradlew -q -P userPlugin=false :android-un7z:upload +./gradlew -q -P userPlugin=false :file-plugin:upload +./gradlew -q -P userPlugin=false :load-hook:upload +./gradlew -q -P userPlugin=false :load-hook-plugin:upload +./gradlew -q -P userPlugin=false :load-assets-7z:upload echo ---------------------------------------------------------上传maven完成--------------------------------------------------------- \ No newline at end of file