Skip to content

Instantly share code, notes, and snippets.

View lizhangqu's full-sized avatar
🙄
沉迷女色中

区长 lizhangqu

🙄
沉迷女色中
View GitHub Profile
@lizhangqu
lizhangqu / Hack.java
Created September 14, 2016 14:20 — forked from oasisfeng/Hack.java
Reflection helper for hacking non-public APIs.
package com.oasisfeng.hack;
import android.support.annotation.CheckResult;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import java.io.IOException;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Constructor;
@lizhangqu
lizhangqu / tmux-cheatsheet.markdown
Created May 30, 2017 15:30 — forked from MohamedAlaa/tmux-cheatsheet.markdown
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
package io.github.lizhangqu.fresco;
import android.content.Context;
import android.graphics.ColorFilter;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
import android.net.Uri;
import android.view.MotionEvent;
import android.view.View;
@lizhangqu
lizhangqu / java-filter.gradle
Last active August 21, 2017 02:48
java assemble filter for java source, java resources
apply plugin: JavaFilterPlugin
class JavaFilterPlugin implements Plugin<Project> {
void apply(Project project) {
project.afterEvaluate {
if (project.file('filter.properties').exists()) {
def processResources = project.tasks.findByName("processResources")
processResources.configure {
from(processResources.source) {
filesMatching('*') {
@lizhangqu
lizhangqu / android-filter.gradle
Last active November 15, 2017 01:10
android assemble filter for java source, java resources, android assets, android resource, android manifest
apply plugin: AndroidFilterPlugin
class AndroidFilterPlugin implements Plugin<Project> {
void apply(Project project) {
project.afterEvaluate {
if (project.plugins.hasPlugin("com.android.application")) {
def android = project.extensions.getByName("android")
android.applicationVariants.all { def variant ->
def variantData = variant.getVariantData()
def scope = variantData.scope
subprojects {
configurations.all {
resolutionStrategy {
force 'com.android.support:multidex:1.0.2'
force 'com.android.support:multidex-instrumentation:1.0.2'
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex')) {
details.useVersion '25.3.1'
}
@lizhangqu
lizhangqu / Diagnostics.h
Last active January 20, 2018 07:40
JniDiagnostics
#ifndef DIAGNOSTICS_H
#define DIAGNOSTICS_H
#include <jni.h>
#include <stdio.h>
#if !defined(DISALLOW_COPY_AND_ASSIGN)
// DISALLOW_COPY_AND_ASSIGN disallows the copy and operator= functions. It goes in the private:
// declarations in a class.
#if __cplusplus >= 201103L
@lizhangqu
lizhangqu / AndroidGradleTaskhook.gradle
Last active February 2, 2018 06:39
android gradle plugin task hook
import com.android.build.api.transform.Context
import com.android.build.api.transform.DirectoryInput
import com.android.build.api.transform.JarInput
import com.android.build.api.transform.QualifiedContent
import com.android.build.api.transform.SecondaryFile
import com.android.build.api.transform.Transform
import com.android.build.api.transform.TransformException
import com.android.build.api.transform.TransformInput
import com.android.build.api.transform.TransformInvocation
import com.android.build.api.transform.TransformOutputProvider
@lizhangqu
lizhangqu / README.md
Created February 19, 2019 08:54 — forked from chuyik/README.md
macOS 给 Git(Github) 设置代理(HTTP/SSH)
import android.app.Activity;
import android.content.res.TypedArray;
import android.content.res.Resources;
import android.util.Log;
/**
* @author lizhangqu
* @version V1.0