diff --git a/README.md b/README.md
index f6cd53b..8e77155 100644
--- a/README.md
+++ b/README.md
@@ -108,14 +108,13 @@ public final class StringFogImpl implements IStringFog {
}
```
-#### 自定义加解密算法集成
-集成自定义算法有两种方式:
-- 编译成jar或者上传至maven仓库,用classpath引入到根目录build.gradle和implementation引入到app的build.gradle中。
-- 将java源文件放置到根目录buildSrc/src/main/java下,以及app源码目录中。
#### Mapping文件
加解密的字符串明文和暗文会自动生成mapping映射文件,位于outputs/mapping/stringfog.txt。
+## 范例
+- 默认加解密算法集成,参考[sample2](https://github.com/MegatronKing/StringFog-Sample2)
+- 自定义加解密算法集成,参考[sample1](https://github.com/MegatronKing/StringFog-Sample1)
## 更新日志
diff --git a/stringfog-sample-app/.gitignore b/app/.gitignore
similarity index 100%
rename from stringfog-sample-app/.gitignore
rename to app/.gitignore
diff --git a/stringfog-sample-library/build.gradle b/app/build.gradle
similarity index 66%
rename from stringfog-sample-library/build.gradle
rename to app/build.gradle
index 3af4791..035c6bc 100644
--- a/stringfog-sample-library/build.gradle
+++ b/app/build.gradle
@@ -1,29 +1,18 @@
-apply plugin: 'com.android.library'
-apply plugin: 'stringfog'
-
-// 每个Library可以定义不同的加密key
-stringfog {
-
- key 'Hello Library'
- enable true
- debug false
- implementation 'com.github.megatronking.stringfog.xor.StringFogImpl'
-}
+apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
+ applicationId "com.github.megatronking.stringfog"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
}
buildTypes {
- release {
- minifyEnabled false
+ debug {
+ minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
@@ -35,6 +24,5 @@ dependencies {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation 'com.github.megatronking.stringfog:xor:1.0.0'
testImplementation 'junit:junit:4.12'
}
diff --git a/stringfog-sample-app/proguard-rules.pro b/app/proguard-rules.pro
similarity index 100%
rename from stringfog-sample-app/proguard-rules.pro
rename to app/proguard-rules.pro
diff --git a/stringfog-sample-app/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java
similarity index 100%
rename from stringfog-sample-app/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java
rename to app/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java
diff --git a/stringfog-sample-app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
similarity index 100%
rename from stringfog-sample-app/src/main/AndroidManifest.xml
rename to app/src/main/AndroidManifest.xml
diff --git a/app/src/main/java/com/github/megatronking/stringfog/MainActivity.java b/app/src/main/java/com/github/megatronking/stringfog/MainActivity.java
new file mode 100644
index 0000000..d424f09
--- /dev/null
+++ b/app/src/main/java/com/github/megatronking/stringfog/MainActivity.java
@@ -0,0 +1,17 @@
+package com.github.megatronking.stringfog;
+
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+public class MainActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ // 范例请参考:
+ // https://github.com/MegatronKing/StringFog-Sample1
+ // https://github.com/MegatronKing/StringFog-Sample2
+ }
+
+}
diff --git a/stringfog-sample-app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
similarity index 100%
rename from stringfog-sample-app/src/main/res/layout/activity_main.xml
rename to app/src/main/res/layout/activity_main.xml
diff --git a/stringfog-sample-app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from stringfog-sample-app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/stringfog-sample-app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from stringfog-sample-app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/stringfog-sample-app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from stringfog-sample-app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/stringfog-sample-app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from stringfog-sample-app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/stringfog-sample-app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from stringfog-sample-app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/stringfog-sample-app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml
similarity index 100%
rename from stringfog-sample-app/src/main/res/values-w820dp/dimens.xml
rename to app/src/main/res/values-w820dp/dimens.xml
diff --git a/stringfog-sample-app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
similarity index 100%
rename from stringfog-sample-app/src/main/res/values/colors.xml
rename to app/src/main/res/values/colors.xml
diff --git a/stringfog-sample-app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
similarity index 100%
rename from stringfog-sample-app/src/main/res/values/dimens.xml
rename to app/src/main/res/values/dimens.xml
diff --git a/stringfog-sample-app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
similarity index 100%
rename from stringfog-sample-app/src/main/res/values/strings.xml
rename to app/src/main/res/values/strings.xml
diff --git a/stringfog-sample-app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
similarity index 100%
rename from stringfog-sample-app/src/main/res/values/styles.xml
rename to app/src/main/res/values/styles.xml
diff --git a/stringfog-sample-app/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java b/app/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java
similarity index 100%
rename from stringfog-sample-app/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java
rename to app/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java
diff --git a/build.gradle b/build.gradle
index 9fda938..c700db4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,11 +6,9 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.4'
+ classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
- classpath 'com.github.megatronking.stringfog:gradle-plugin:2.0.1'
- classpath 'com.github.megatronking.stringfog:xor:1.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
diff --git a/buildSrc/.gitignore b/buildSrc/.gitignore
deleted file mode 100644
index 00fd4dd..0000000
--- a/buildSrc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/build
-/.gradle
\ No newline at end of file
diff --git a/buildSrc/README.md b/buildSrc/README.md
deleted file mode 100644
index c60a60b..0000000
--- a/buildSrc/README.md
+++ /dev/null
@@ -1 +0,0 @@
-如果不希望将自定义算法打成jar包或者上传到maven依赖,可以将自定义算法Java源文件放到此目录下的src/main/java/下面
\ No newline at end of file
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
deleted file mode 100644
index 9938cba..0000000
--- a/buildSrc/build.gradle
+++ /dev/null
@@ -1,9 +0,0 @@
-repositories {
- google()
- jcenter()
-}
-
-dependencies {
-// 在buildSrc中引用自定义加解密算法源文件时放开此依赖,使用maven方式引用时必须注释掉此依赖
-// implementation 'com.github.megatronking.stringfog:interface:1.0.1'
-}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4c01b5f..cd97aed 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-4.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
diff --git a/settings.gradle b/settings.gradle
index 3dde7aa..2c6019c 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,4 +1,4 @@
-include ':stringfog-sample-app', ':stringfog-gradle-plugin', ':stringfog-sample-library', ':stringfog-interface'
+include ':app', ':stringfog-gradle-plugin', ':stringfog-interface'
file('stringfog-ext').listFiles().each {
if (it.isDirectory()) {
include ":stringfog-ext:${it.name}"
diff --git a/stringfog-sample-app/build.gradle b/stringfog-sample-app/build.gradle
deleted file mode 100644
index f6ed38c..0000000
--- a/stringfog-sample-app/build.gradle
+++ /dev/null
@@ -1,43 +0,0 @@
-apply plugin: 'com.android.application'
-apply plugin: 'stringfog'
-
-stringfog {
- key 'Hello Application'
- enable true
- debug false
- // 指定加解密的具体实现类,可以用默认实现的xor库或者aes-cbc库,也可以自己定制实现,记得配置dependencies
- implementation 'com.github.megatronking.stringfog.xor.StringFogImpl'
- // 指定需加密的代码包路径,可配置多个,未指定将默认全部加密
- fogPackages = ["com.github.megatronking.stringfog"]
-}
-
-android {
- compileSdkVersion 28
- defaultConfig {
- applicationId "com.github.megatronking.stringfog"
- minSdkVersion 15
- targetSdkVersion 28
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- }
- buildTypes {
- debug {
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
- exclude group: 'com.android.support', module: 'support-annotations'
- })
- implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation project(':stringfog-sample-library')
- testImplementation 'junit:junit:4.12'
-
- // xor加解密库,stringfog中的implementation需依赖此库
- implementation 'com.github.megatronking.stringfog:xor:1.0.0'
-}
diff --git a/stringfog-sample-app/src/main/java/com/github/megatronking/stringfog/MainActivity.java b/stringfog-sample-app/src/main/java/com/github/megatronking/stringfog/MainActivity.java
deleted file mode 100644
index bb55e84..0000000
--- a/stringfog-sample-app/src/main/java/com/github/megatronking/stringfog/MainActivity.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.github.megatronking.stringfog;
-
-import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.util.Log;
-import android.widget.TextView;
-
-import com.github.megatronking.stringfog.library.LibTest;
-
-public class MainActivity extends AppCompatActivity {
-
- // Test static final fields
- private static final String STATIC_FINAL_FIELD_1 = "test_private_static_final";
- protected static final String STATIC_FINAL_FIELD_2 = "test_protected_static_final";
- public static final String STATIC_FINAL_FIELD_3 = "test_public_static_final";
-
- // Test static fields
- private static String static_field_1 = "test_private_static";
- protected static String static_field_2 = "test_protected_static";
- public static String static_field_3 = "test_public_static";
-
- // Test final fields
- private final String final_field_1 = "test_private_final";
- protected final String final_field_2 = "test_protected_final";
- public final String final_field_3 = "test_public_final";
-
- // Test normal fields
- private String normal_field_1 = "test_private_normal";
- protected String normal_field_2 = "test_protected_normal";
- public String normal_field_3 = "test_public_normal";
-
- // Test null static final value
- public static final String null_static_final;
-
- // Test null static value
- public static String null_static;
-
- static {
- null_static_final = "test_null_static_final";
- null_static = "test_null_static";
-
- // Test static block
- Log.i("stringfog", "test static block");
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- // Test local params
- String title = "MainActivity";
- ((TextView)findViewById(R.id.text)).setText(title + "Test");
-
- String tag = "stringfog";
-
- Log.i(tag, STATIC_FINAL_FIELD_1);
- Log.i(tag, STATIC_FINAL_FIELD_2);
- Log.i(tag, STATIC_FINAL_FIELD_3);
-
- Log.i(tag, static_field_1);
- Log.i(tag, static_field_2);
- Log.i(tag, static_field_3);
-
- Log.i(tag, final_field_1);
- Log.i(tag, final_field_2);
- Log.i(tag, final_field_3);
-
- Log.i(tag, normal_field_1);
- Log.i(tag, normal_field_2);
- Log.i(tag, normal_field_3);
-
- Log.i(tag, null_static_final);
- Log.i(tag, null_static);
-
- Log.i(tag, LibTest.ACTION);
- }
-
-}
diff --git a/stringfog-sample-app/src/main/java/com/github/megatronking/stringfog/TestIngore.java b/stringfog-sample-app/src/main/java/com/github/megatronking/stringfog/TestIngore.java
deleted file mode 100644
index 88072c5..0000000
--- a/stringfog-sample-app/src/main/java/com/github/megatronking/stringfog/TestIngore.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.github.megatronking.stringfog;
-
-import com.github.megatronking.stringfog.annotation.StringFogIgnore;
-
-/**
- * Test StringFogIgnore
- */
-@StringFogIgnore
-public class TestIngore {
-
- public static final String A = "a";
- public static final String B = "b";
- public static final String C = "c";
-
-}
diff --git a/stringfog-sample-app/src/main/java/exclude/ExcludeTest.java b/stringfog-sample-app/src/main/java/exclude/ExcludeTest.java
deleted file mode 100644
index 3bdd216..0000000
--- a/stringfog-sample-app/src/main/java/exclude/ExcludeTest.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package exclude;
-
-/**
- * A testcase about exclude in stringfog DSL.
- *
- * @author Megatron King
- * @since 17/7/29 18:16
- */
-
-public class ExcludeTest {
-
- public static final String EXCLUDE_STRING = "exclude";
-
-}
diff --git a/stringfog-sample-library/.gitignore b/stringfog-sample-library/.gitignore
deleted file mode 100644
index 796b96d..0000000
--- a/stringfog-sample-library/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/stringfog-sample-library/proguard-rules.pro b/stringfog-sample-library/proguard-rules.pro
deleted file mode 100644
index ac40eb6..0000000
--- a/stringfog-sample-library/proguard-rules.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /Users/anker/Library/Android/sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/stringfog-sample-library/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java b/stringfog-sample-library/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java
deleted file mode 100644
index 18274a1..0000000
--- a/stringfog-sample-library/src/androidTest/java/com/github/megatronking/stringfog/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.github.megatronking.stringfog;
-
-import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumentation test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() throws Exception {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getTargetContext();
-
- assertEquals("com.github.megatronking.stringfog.test", appContext.getPackageName());
- }
-}
diff --git a/stringfog-sample-library/src/main/AndroidManifest.xml b/stringfog-sample-library/src/main/AndroidManifest.xml
deleted file mode 100644
index eaebe1d..0000000
--- a/stringfog-sample-library/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/stringfog-sample-library/src/main/java/com/github/megatronking/stringfog/library/LibTest.java b/stringfog-sample-library/src/main/java/com/github/megatronking/stringfog/library/LibTest.java
deleted file mode 100644
index 13cf5f0..0000000
--- a/stringfog-sample-library/src/main/java/com/github/megatronking/stringfog/library/LibTest.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.github.megatronking.stringfog.library;
-
-/**
- * @author Megatron King
- * @since 17/7/28 10:02
- */
-
-public class LibTest {
-
- public static final String ACTION = "action";
-
-}
diff --git a/stringfog-sample-library/src/main/res/values/strings.xml b/stringfog-sample-library/src/main/res/values/strings.xml
deleted file mode 100644
index bf897b7..0000000
--- a/stringfog-sample-library/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- stringfog-sample-library
-
diff --git a/stringfog-sample-library/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java b/stringfog-sample-library/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java
deleted file mode 100644
index 9682029..0000000
--- a/stringfog-sample-library/src/test/java/com/github/megatronking/stringfog/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.github.megatronking.stringfog;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see Testing documentation
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file