Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Gradle Retrolambda | 5,388 | 68 | 3 | 4 years ago | 40 | April 21, 2019 | 74 | apache-2.0 | Java | |
A gradle plugin for getting java lambda support in java 6, 7 and android | ||||||||||
Nuwa | 2,940 | 7 years ago | 64 | Java | ||||||
Nuwa, pure java implementation, can hotfix your android application. | ||||||||||
Condom | 2,321 | 3 years ago | apache-2.0 | Java | ||||||
一个超轻超薄的Android工具库,阻止三方SDK中常见的有害行为,而不影响应用自身的功能。(例如严重影响用户体验的『链式唤醒』) | ||||||||||
Android Fat Aar | 1,157 | 6 years ago | 40 | unlicense | ||||||
Gradle script that allows you to merge and embed dependencies in generted aar file | ||||||||||
Android Checkout | 1,021 | 29 | 2 months ago | 37 | February 22, 2022 | other | Java | |||
Library for Android In-App Billing (Version 3+) | ||||||||||
Appupdater | 664 | 2 months ago | 6 | April 25, 2022 | 4 | mit | Java | |||
🚀 AppUpdater一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。(集成步骤超简单) | ||||||||||
Mess | 586 | 4 years ago | 9 | mit | Groovy | |||||
a gradle plugin for minifying activities, services, receivers, providers and custom view | ||||||||||
Let | 532 | 1 | 5 years ago | 6 | February 11, 2018 | 20 | apache-2.0 | Java | ||
Annotation based simple API flavored with AOP to handle new Android runtime permission model | ||||||||||
Treasure | 508 | 5 years ago | 5 | Java | ||||||
Very easy to use wrapper library for Android SharePreferences | ||||||||||
Gradle Android Plugin | 410 | 2 | 1 | 9 years ago | 3 | October 10, 2012 | other | Groovy | ||
Android plugin for the Gradle build system. |
Nuwa is a goddess in ancient Chinese mythology best known for repairing the pillar of heaven.
With this Nuwa project,you can also have the repairing power, fix your android applicaiton without have to publish a new APK to the appstore.
in master
branch, run and install the app.
it shows『hello world』.
copy sample/build/outputs/nuwa dir to somewhere for later use.
for example: /Users/jason/Documents/nuwa
change to bugfix
branch, run the following command in terminal to generate patch.jar.
./gradlew clean nuwaQihooDebugPatch -P NuwaDir=/Users/jason/Documents/nuwa
java verison must be same using android studio and terminal
run following command to push patch.jar to sdcard.
adb push sample/build/outputs/nuwa/qihoo/debug/patch.jar /sdcard/
restart your application (kill the process).
it shows『patch success』.
classpath 'cn.jiajixin.nuwa:gradle:1.2.2'
build.gradle maybe look like this:
```
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'cn.jiajixin.nuwa:gradle:1.2.2'
}
}
```
add following to your build.gradle:
apply plugin: "cn.jiajixin.nuwa"
gradle dependency:
dependencies {
compile 'cn.jiajixin.nuwa:nuwa:1.0.0'
}
add following to your application class:
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
Nuwa.init(this);
}
load the patch file according to your needs:
Nuwa.loadPatch(this,patchFile)
I plan to provide the management of patch file later.
add follwing to you proguardFile if you are using proguard:
-keep class cn.jiajixin.nuwa.** { *; }
You can add nuwa
extension to your build.gradle. Generally, you don't need this.
nuwa{
}
Nuwa extension support following DSL object.
includePackage:HashSet<String>
The internal name of a class is its fully qualified name, where '.' are replaced by '/'. For example:
cn/jiajixin/nuwasample/MainActivity.class
Using includePackage,you can only fix those classes whose internal name starts with includePackage.For example:
includePackage = ['cn/jiajixin/nuwasample']
Default, Nuwa can fix classes which not from the android support library.
excludeClass:HashSet<String>
All Application subclasses should not be injected by Nuwa.
Default, Nuwa will automatically exclude the application declared in your manifest file. You need to exclude others using excludeClass
Using excludeClass, you can not fix those classes whose internal name ends with excludeClass.For example:
excludeClass = ['BaseApplication.class']
debugOn:boolean
whether use Nuwa in debug mode, default totrue
.
For how to generate patch file, please reference the first three steps of Run the Sample.
There are two types of gradle task to generate patch file:
nuwaPatches
this task will generate multi patch.jar for all variant.
nuwa${variant.name.capitalize()}Patch
this task will generate one patch.jar for specific variant.
Inspired by QZone hotfix solution from this article.
Copyright (c) 2015, jiajixin.cn