About modifying class bytecode in jar and aar

There is always the need to modify the class bytecode in jar and aar. Before that, I wanted to decompress directly with compression tools, write code modification directly with javasist, and then replace the classes.jar to AAR format. But it seems that this breaks the AAR structure and makes AAR unusab ...

Posted on Mon, 07 Oct 2019 05:14:41 -0700 by Janus13

Android Multichannel Packaging--Gradle Packaging

Android Multichannel Packaging--Gradle Packaging Preface Since App is generally available in multiple application markets, in order to analyze the specific data of App in each different channel, different Apps are usually packaged in different channels. There are many ways of multi-channel packaging. Here we only introduce the use of Gradle for ...

Posted on Thu, 03 Oct 2019 01:46:13 -0700 by EricC

Naming of gradle multi-channel packaging

It's nothing new to use gradle multi-channel packaging, configure product Flavors and write build ConfigField or something, which seems to work. It's really possible to use it, but it's embarrassing to change the package name one day. I don't know how to change it. Use This configuration was originall ...

Posted on Mon, 23 Sep 2019 03:30:03 -0700 by MP145

log4j Log Output Problem

There was an error on the server today. I want to check the log first and find that it has not been output for a long time.From morning to afternoon, just solved, so record it, but now you just know it and don't know why, so if you have any ideas, please comment below.<!-- more --> Let's start with the environment, the server is linux, th ...

Posted on Sun, 22 Sep 2019 20:21:46 -0700 by kamy99

Android Componentized Architecture Learning Notes - Static Variables/Resources/Confusion/Multi-Channel Packaging for Componentized Programming

1. Componentized static variables: Generation of R.java: Each module generates an aar file and is referenced in the Application module, which is merged into an apk file.When each secondary module is decompressed in the Application module, the ...

Posted on Thu, 12 Sep 2019 20:00:22 -0700 by shseraj

Gradle Chapter--Gradle Source Code Analysis

Preparatory knowledge Understanding the basic development of gradle Understanding the use and development of gradle task and plugin Understanding the use of android gradle plugin How far can I get after reading this article? Understanding the implementation principle of gradle Pre-reading preparation clone EasyGradle project download Gradle ...

Posted on Wed, 28 Aug 2019 06:16:42 -0700 by blkrt10

[Android Refinement Manual] Gradle Chapter--Analysis of the Main Processes of Android Gradle Plugin

Preparatory knowledge Understanding the basic development of gradle Understanding the use and development of gradle task and plugin Understanding the use of android gradle plugin How far can I get after reading this article? Understanding the construction process of android gradle plugin Understanding the main task implementation of android ...

Posted on Tue, 27 Aug 2019 19:31:18 -0700 by bhanu

Introduction to Android Annotation Processor

We can add a lot of annotations to the java code, which will eventually be bound to the target element, and we can configure its retention policy for each annotation. CLASS Annotations are to be recorded in the class file by the compiler but need not ...

Posted on Tue, 27 Aug 2019 00:52:12 -0700 by m3mn0n

Class spring ioc generic preservation

What is generic erase Java does not pass generic classes, so take an intuitive chestnut: @Component public class BaseProvider<T> { public void doSomething() { Class<?> clazz = getClass(); System.out.println(clazz.getName()+" doSomething"); Type superclass = clazz.getGenericSuperclass(); Syst ...

Posted on Thu, 22 Aug 2019 09:45:34 -0700 by manoj_jnics1

Groovy Grammar Foundation

Introduction to Groovy Groovy is a dynamic language based on JVM. Its grammar is similar to Java and ultimately compiles. class to run on JVM. Groovy is fully compatible with Java and adds many dynamic types and flexible features, such as closure support and DSL support. Groovy is a very flexible dynamic scripting language. The purpose of this ...

Posted on Sun, 18 Aug 2019 06:42:23 -0700 by raydar2000