Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7e403d3

Browse files
1:适配Android Studio 3.0;
1 parent c4870b6 commit 7e403d3

File tree

15 files changed

+173
-88
lines changed

15 files changed

+173
-88
lines changed

‎README.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,17 @@
1414
Android项目组件化示例代码
1515

1616
**Android组件化方案**:http://blog.csdn.net/guiying712/article/details/55213884
17+
1718
**Android组件化之终极方案**:http://blog.csdn.net/guiying712/article/details/78057120
1819

1920
1. 现在的 AndroidModulePattern 使用 阿里ARouter作为路由;
21+
2022
2. Android组件化方案已经支持 **Fragment组件化**,使用方法请下载Demo查看;
23+
2124
3. 目前Android组件化方案还没有写完,后续会**继续更新**,完善组件化方案。
2225

26+
4. 本项目已适配Android Studio 3.0.1版本(Google仓库会带来一定影响)
27+
2328

2429
## 集成开发模式和组件开发模式转换
2530

‎build.gradle‎

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4+
apply from: '/versions.gradle'
5+
46
repositories {
7+
google()
58
jcenter()
6-
mavenCentral()
79
}
8-
910
dependencies {
1011
//classpath "com.android.tools.build:gradle:$localGradlePluginVersion"
1112
//$localGradlePluginVersion是gradle.properties中的数据
@@ -15,10 +16,9 @@ buildscript {
1516

1617
allprojects {
1718
repositories {
19+
google()
1820
jcenter()
19-
mavenCentral()
20-
//Add the JitPack repository
21-
maven { url "https://jitpack.io" }
21+
maven { url 'https://jitpack.io' }
2222
//支持arr包
2323
flatDir {
2424
dirs 'libs'
@@ -30,32 +30,3 @@ task clean(type: Delete) {
3030
delete rootProject.buildDir
3131
}
3232

33-
// Define versions in a single place
34-
//时间:2017年2月13日;每次修改版本号都要添加修改时间
35-
ext {
36-
// Sdk and tools
37-
//localBuildToolsVersion是gradle.properties中的数据
38-
buildToolsVersion = localBuildToolsVersion
39-
compileSdkVersion = 25
40-
minSdkVersion = 16
41-
targetSdkVersion = 25
42-
versionCode = 1
43-
versionName = "1.0"
44-
javaVersion = JavaVersion.VERSION_1_8
45-
46-
// App dependencies version
47-
supportLibraryVersion = "25.3.1"
48-
retrofitVersion = "2.1.0"
49-
glideVersion = "3.7.0"
50-
loggerVersion = "1.15"
51-
eventbusVersion = "3.0.0"
52-
gsonVersion = "2.8.0"
53-
photoViewVersion = "2.0.0"
54-
55-
//检查时间:2017年6月6日
56-
annotationProcessor = "1.0.3"
57-
routerVersion = "1.2.1.1"
58-
easyRecyclerVersion = "4.4.0"
59-
cookieVersion = "v1.0.1"
60-
toastyVersion = "1.1.3"
61-
}

‎gradle.properties‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@ org.gradle.jvmargs=-Xmx2048m
1818
org.gradle.daemon=true
1919
org.gradle.configureondemand=true
2020
org.gradle.parallel=true
21-
# 为自动化出包配置(因为每个开发的电脑坏境不一致)
22-
localBuildToolsVersion=25.0.3
2321
# 这个值一般跟你的AndroidStudio版本号一致
24-
localGradlePluginVersion=2.3.3
22+
localGradlePluginVersion=3.0.1
2523

2624
# 每次更改"isModule"的值后,需要点击 "Sync Project" 按钮
2725
# isModule是"集成开发模式"和"组件开发模式"的切换开关

‎keystore.properties‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
storePassword=guiying712
2+
keyPassword=guiying712
3+
keyAlias=guiying712
4+
storeFile=/mykey.jks

‎lib_common/build.gradle‎

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ apply plugin: 'com.android.library'
22

33
android {
44
compileSdkVersion rootProject.ext.compileSdkVersion
5-
buildToolsVersion rootProject.ext.buildToolsVersion
6-
75
defaultConfig {
86
minSdkVersion rootProject.ext.minSdkVersion
97
targetSdkVersion rootProject.ext.targetSdkVersion
@@ -13,25 +11,26 @@ android {
1311
}
1412

1513
dependencies {
16-
compile fileTree(dir: 'libs', include: ['*.jar'])
14+
api fileTree(dir: 'libs', include: ['*.jar'])
1715
//Android Support
18-
compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
19-
compile "com.android.support:design:$rootProject.supportLibraryVersion"
20-
compile "com.android.support:percent:$rootProject.supportLibraryVersion"
16+
api "com.android.support:support-v4:$rootProject.supportLibraryVersion"
17+
api "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
18+
api "com.android.support:design:$rootProject.supportLibraryVersion"
19+
api "com.android.support:percent:$rootProject.supportLibraryVersion"
2120
//网络请求相关
22-
compile "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
23-
compile "com.squareup.retrofit2:retrofit-mock:$rootProject.retrofitVersion"
24-
compile "com.github.franmontiel:PersistentCookieJar:$rootProject.cookieVersion"
21+
api "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
22+
api "com.squareup.retrofit2:retrofit-mock:$rootProject.retrofitVersion"
23+
api "com.github.franmontiel:PersistentCookieJar:$rootProject.cookieVersion"
2524
//稳定的
26-
compile "com.github.bumptech.glide:glide:$rootProject.glideVersion"
27-
compile "com.orhanobut:logger:$rootProject.loggerVersion"
28-
compile "org.greenrobot:eventbus:$rootProject.eventbusVersion"
29-
compile "com.google.code.gson:gson:$rootProject.gsonVersion"
30-
compile "com.github.chrisbanes:PhotoView:$rootProject.photoViewVersion"
25+
api "com.github.bumptech.glide:glide:$rootProject.glideVersion"
26+
api "com.orhanobut:logger:$rootProject.loggerVersion"
27+
api "org.greenrobot:eventbus:$rootProject.eventbusVersion"
28+
api "com.google.code.gson:gson:$rootProject.gsonVersion"
29+
api "com.github.chrisbanes:PhotoView:$rootProject.photoViewVersion"
3130

32-
compile "com.jude:easyrecyclerview:$rootProject.easyRecyclerVersion"
33-
compile "com.github.GrenderG:Toasty:$rootProject.toastyVersion"
31+
api "com.jude:easyrecyclerview:$rootProject.easyRecyclerVersion"
32+
api "com.github.GrenderG:Toasty:$rootProject.toastyVersion"
3433

3534
//router
36-
compile "com.alibaba:arouter-api:$rootProject.routerVersion"
35+
api "com.alibaba:arouter-api:$rootProject.routerVersion"
3736
}

‎lib_common/src/main/java/com/guiying/module/common/base/ApplicationDelegate.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
* @version V2.8.3
88
* @name ApplicationDelegate
99
*/
10-
11-
1210
public interface ApplicationDelegate {
1311

1412
void onCreate();

‎lib_common/src/main/java/com/guiying/module/common/base/BaseApplication.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public void onCreate() {
4141
for (ApplicationDelegate delegate : mAppDelegateList) {
4242
delegate.onCreate();
4343
}
44+
4445
}
4546

4647
@Override

‎lib_common/src/main/java/com/guiying/module/common/base/ClassUtils.java‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ private static SharedPreferences getMultiDexPreferences(Context context) {
5353
* @param <T> U know
5454
* @return 对象列表
5555
*/
56-
public static <T> List<T> getObjectsWithInterface(Context context, Class<T> clazz, String path) {
56+
public static <T> List<T>
57+
getObjectsWithInterface(Context context, Class<T> clazz, String path) {
5758
List<T> objectList = new ArrayList<>();
5859
try {
5960
//找出所有路径中的类名,主要用于各个组件根包名一致的情况
@@ -273,7 +274,7 @@ private static boolean isVMMultidexCapable() {
273274

274275
}
275276

276-
Log.i("galaxy", "VM with name " + vmName + (isMultidexCapable ? " has multidex support" : " does not have multidex support"));
277+
Log.i(TAG, "VM with name " + vmName + (isMultidexCapable ? " has multidex support" : " does not have multidex support"));
277278
return isMultidexCapable;
278279
}
279280

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
package com.guiying.module.common.utils;
2+
3+
import android.app.Activity;
4+
import android.app.KeyguardManager;
5+
import android.app.KeyguardManager.KeyguardLock;
6+
import android.content.Context;
7+
import android.os.PowerManager;
8+
import android.os.PowerManager.WakeLock;
9+
import android.util.Log;
10+
11+
import java.util.HashMap;
12+
13+
/**
14+
* 用于保持屏幕高亮的工具
15+
*/
16+
public class ScreenLockUtil {
17+
private static final String TAG = "ScreenLockUtil";
18+
19+
private ScreenLockUtil() {
20+
throw new UnsupportedOperationException("cannot be instantiated");
21+
}
22+
23+
static private HashMap<Activity, WakeLock> mWakeLockArray = new HashMap<>();
24+
static private HashMap<Activity, Boolean> mIsUnlockArray = new HashMap<>();
25+
26+
27+
/**
28+
* 保持屏幕常亮
29+
*
30+
* @param activity you know
31+
*/
32+
public static void keepScreenOn(Activity activity) {
33+
WakeLock wakeLock = mWakeLockArray.get(activity);
34+
if (wakeLock == null) {
35+
PowerManager powerManager = (PowerManager) activity.getSystemService(Context.POWER_SERVICE);
36+
wakeLock = powerManager.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK,
37+
activity.getClass().getName());
38+
}
39+
40+
if (!wakeLock.isHeld()) {
41+
wakeLock.acquire();
42+
}
43+
44+
mWakeLockArray.put(activity, wakeLock);
45+
46+
cancelLockScreen(activity);
47+
48+
Log.i(TAG, "开启屏幕常亮");
49+
}
50+
51+
52+
/**
53+
* 取消屏幕常亮
54+
*
55+
* @param activity you know
56+
*/
57+
public static void cancelKeepScreen(Activity activity) {
58+
WakeLock wakeLock = mWakeLockArray.get(activity);
59+
if (wakeLock != null) {
60+
if (wakeLock.isHeld()) {
61+
wakeLock.release();
62+
}
63+
}
64+
65+
Log.i(TAG, "取消屏幕常亮");
66+
}
67+
68+
/**
69+
* 取消锁屏限制
70+
*
71+
* @param activity you know
72+
*/
73+
private static void cancelLockScreen(Activity activity) {
74+
Boolean isUnlock = mIsUnlockArray.get(activity);
75+
if (isUnlock != null && isUnlock) {
76+
return;
77+
}
78+
KeyguardManager mKeyguardManager = (KeyguardManager) activity.getSystemService(Context.KEYGUARD_SERVICE);
79+
KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock(activity.getClass().getName());
80+
mKeyguardLock.disableKeyguard();
81+
82+
mIsUnlockArray.put(activity, true);
83+
}
84+
}

‎module_app/build.gradle‎

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
11
apply plugin: 'com.android.application'
22

3+
// Create a variable called keystorePropertiesFile, and initialize it to your
4+
// keystore.properties file, in the rootProject folder.
5+
def keystorePropertiesFile = rootProject.file("keystore.properties")
6+
// Initialize a new Properties() object called keystoreProperties.
7+
def keystoreProperties = new Properties()
8+
// Load your keystore.properties file into the keystoreProperties object.
9+
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
10+
311
static def buildTime() {
412
return new Date().format("yyyyMMdd");
513
}
614

715
android {
816
signingConfigs {
917
release {
10-
keyAlias 'guiying712'
11-
keyPassword 'guiying712'
12-
storeFile file('/mykey.jks')
13-
storePassword 'guiying712'
18+
keyAlias keystoreProperties['keyAlias']
19+
keyPassword keystoreProperties['keyPassword']
20+
storeFile file(keystoreProperties['storeFile'])
21+
storePassword keystoreProperties['storePassword']
1422
}
1523
}
1624

1725
compileSdkVersion rootProject.ext.compileSdkVersion
18-
buildToolsVersion rootProject.ext.buildToolsVersion
1926
defaultConfig {
2027
applicationId "com.guiying.module"
2128
minSdkVersion rootProject.ext.minSdkVersion
@@ -60,13 +67,12 @@ android {
6067
}
6168

6269
dependencies {
63-
compile fileTree(dir: 'libs', include: ['*.jar'])
64-
compile 'com.android.support:multidex:1.0.1'
65-
if (isModule.toBoolean()) {
66-
compile project(':lib_common')
67-
} else {
68-
compile project(':module_main')
69-
compile project(':module_girls')
70-
compile project(':module_news')
70+
implementation fileTree(dir: 'libs', include: ['*.jar'])
71+
implementation 'com.android.support:multidex:1.0.2'
72+
implementation project(':lib_common')
73+
if (!isModule.toBoolean()) {
74+
implementation project(':module_main')
75+
implementation project(':module_girls')
76+
implementation project(':module_news')
7177
}
7278
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /