以下内容为原创,欢迎转载,转载请注明
来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html
[Android Studio]SQLScout插件安装破解
0. 写在前面
想当初很长一段时间内不想用Android Studio而喜欢用Intellij IDEA(旗舰版)其中一个原因就是因为Intellij IDEA(旗舰版)自带Database Explorer
功能便于调试,终于找到了这个Android Studio的插件可以用了,下载试用,满意!就是这个感觉!可惜需要付费,还有点小贵--,囊中羞涩,所以只好亲自手动破解,大家好孩子别轻易尝试。。。
1. 安装SQLScout插件
打开
Android Studio
Settings
(on Windows and Linux) orPreferences
(Mac)Plugins
Browse Repositories...
选择
SQLScout
并安装
2. 激活SQLScout
在试用期过后,需要购买一个商业证书来激活SQLScout。
通过这里 [购买商业证书] (https://www.idescout.com/secure/buy),然后点击Activate
按钮。
3. 破解
注意:以下破解只供学习讨论,请勿传播
3.1 破解SQLScout 2.0.4
for Android Studio 2.1 and IntelliJ IDEA 2016.1
通过前面的方法安装SQLScout插件之后,进入Intellij IDEA插件安装目录:
~/Library/Application Support/AndroidStudio/SQLScout/lib/
反编译SQLScout.jar
进入com/idescout/sqlite/license/
,修改License.class
。
License.java
如下:
package com.idescout.sqlite.license;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
import com.intellij.ide.IdeEventQueue;
import com.intellij.openapi.components.ServiceManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class License {
@NotNull
private final m a = new m();
@NotNull
private final k b = new k();
@NotNull
private final List<j> c = Lists.newArrayList();
@NotNull
private final LicenseCheck.Type d = LicenseCheck.Type.COMMERCIAL;
public static int e;
private static final String[] f = new String[4];
@NotNull
public static License getInstance() {
License license = null;
try {
if ((license = (License) ServiceManager.getService(License.class)) == null) {
throw new IllegalStateException(String.format(f[0], new Object[]{f[2], f[1]}));
}
} catch (IllegalStateException localIllegalStateException) {
throw localIllegalStateException;
}
return license;
}
private License() {
this.c.add(this.b);
this.c.add(this.a);
int i = (int) TimeUnit.MINUTES.toMillis(1L);
IdeEventQueue.getInstance().addIdleListener(new i(this), i);
}
private void a() {
}
private void a(@NotNull com.intellij.openapi.project.Project paramProject) {
}
boolean b() {
return false;
}
public boolean isValidLicense() {
return true;
}
public boolean isValidLicense(@Nullable com.intellij.openapi.project.Project arg1) {
return true;
}
@VisibleForTesting
void c() {
this.b.c();
}
void a(@NotNull String paramString)
throws Throwable {
}
void a(@NotNull Throwable paramThrowable, @org.jetbrains.annotations.Nullable com.intellij.openapi.project.Project paramProject) {
}
static void a(License paramLicense) {
paramLicense.a();
}
static m b(License paramLicense) {
return paramLicense.a;
}
static k c(License paramLicense) {
return paramLicense.b;
}
}
然后编译该文件复制License.class
文件,替换原来的License.class
。
然后jar cvf SQLScout.jar ./*
打包jar。
最后替换~/Library/Application Support/AndroidStudio/SQLScout/lib/
下的SQLScout.jar
文件,重启Android Studio。
3.2 破解SQLScout 2.0.6
方法与破解2.0.4一样,License.class
替换如下:
package com.idescout.sqlite.license;
import com.google.common.annotations.VisibleForTesting;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
public class License {
@NotNull
private final h a;
@NotNull
private final f b;
@NotNull
private final List<e> c;
@NotNull
private final LicenseCheck.Type d;
private static final String[] e = new String[11];
@NotNull
public static License getInstance() {
License license;
try {
license = (License) ServiceManager.getService((Class) License.class);
if (license == null) {
throw new IllegalStateException("error by wangjie");
}
} catch (IllegalStateException ex) {
throw ex;
}
return license;
}
private License() {
this.a = new h();
this.b = new f();
this.c = new ArrayList<e>();
this.d = LicenseCheck.Type.COMMERCIAL;
this.c.add(this.b);
this.c.add(this.a);
// IdeEventQueue.getInstance().addIdleListener(this::d, (int) TimeUnit.MINUTES.toMillis(1L));
}
private void a() {
}
private void a(@NotNull final Project project) {
}
boolean b() {
return false;
}
public boolean isValidLicense() {
return true;
}
public boolean isValidLicense(@Nullable final Project p0) {
return true;
}
@VisibleForTesting
void c() {
this.b.c();
}
void a(@NotNull final String s) throws Throwable {
}
void a(@NotNull final Throwable t, @Nullable final Project project) {
}
private void d() {
}
static h a(final License license) {
return license.a;
}
static f b(final License license) {
return license.b;
}
}
3.3 破解文件下载
使用方式,下载下面的
SQLScout.jar
,替换~/Library/Application Support/AndroidStudio../SQLScout/lib/SQLScout.jar
文件,重启AndroidStudio即可。
3.3.1 SQLScout 2.0.4:
支持Android Studio 2.1 和 IntelliJ IDEA 2016.1.
SQLScout.jar下载:
https://github.com/wangjiegulu/wangjiegulu.github.com/tree/master/file/SQLScout/2.0.4
3.3.2 SQLScout 2.0.6:
支持Android Studio 2.2
SQLScout.jar下载:
https://github.com/wangjiegulu/wangjiegulu.github.com/tree/master/file/SQLScout/2.0.6