GT库-官方最新版

 GT库 

最新版本: v1.4.4.9

发布时间:2023.8.10

GT库官方教程

此次版本更新:切换到github

 * CSDN 博客/官网教程:https://blog.csdn.net/qq_39799899
 * GitHub https://github.com/1079374315/GT
 * 更新内容如下:
 * 1.优化 GT_Fragment 类,API,修改 GT_Fragment 类 返回策略
 * 2.新增 指纹验证工具类 FingerprintUtils 和 封装好的指纹验证对话框 FingerprintDialogFragment 使用教程清参考官网
 * 3.新增 选择图片 功能
 * 4.GT.Glide 图片加载框架优化内容:
 * (1).优化内存缓存策略
 * (2).提升加载动态图性能 提升透明动画稳定性
 * (3).解决断网时读取本地缓存图片失败的问题
 * (4).解决 加载动态图后,View事件丢失的问题
 * (5).解决 在复杂布局中,加载动态图,动态图错位的问题
 * 5.去掉 U盘工具 API
 * 6.ApplicationUtils 类 增加获取 软键盘高度 API
 * 7.ImageViewUtils 类 增加 生成、解析二维码
 * 8.去掉 GT.ApplicationUtils 封装类中的所有分享api方法, 新增分享工具类 ShareUtils ,支持一键分享文件、网图、GIF图、支持万能渠道分享
 * 9.新增 手电筒 FlashlightUtils 封装类,五行代码 搞定
 * 10.新增 声音分贝 AudioRecordUtils 封装类,三行代码 搞定
 * 11.磁场传感器 MagneticFieldUtils 封装类,四行代码 搞定
 * 12.光源传感器 LightSourceUtils 封装类,四步搞定
 * 13.水平仪传感器 GradienterUtils 封装类,四步搞定
 * 14.新增壁纸管理器 WallpaperManagerUtils,两步搞定
 * 15.新增跳转封装类 SkipUtils,跳转各种系统页面
 * 16.GT.EventBus 新增局部 发布事件 和 订阅事件,灵活多变,支持事件拦截,结果返回等。(具体请参考博客教程)

GT包依赖:依赖库详情

Java版 依赖

第一步 1. 将以下存储库将其添加到根构建中。存储库末尾的gradle
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
	
	
第二步 2. 添加依赖关系
dependencies {
    //如果只需要基础功能,可以只依赖GT基础功能库
	implementation 'com.github.1079374315:GSLS_Tool:v1.4.4.9'//基础功能
    //如需要使用 gt-DataBinding 才需要加这个,否则可不加
    annotationProcessor 'com.github.1079374315:GSLS_Tool:v1.4.4.9'//注册 gt-DataBinding 功能
}

kotlin版 依赖

第一步 1. 将以下存储库将其添加到根构建中。存储库末尾的gradle
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

	
第二步 2. 添加依赖关系
dependencies {
    //如果只需要基础功能,可以只依赖GT基础功能库
	implementation 'com.github.1079374315:GSLS_Tool:v1.4.4.9'//基础功能
    //如需要使用 gt-DataBinding 才需要加这个,否则可不加
    kapt'com.github.1079374315:GSLS_Tool:v1.4.4.9'//注册 gt-DataBinding 功能
}


注意:如需要使用 gt-DataBinding 才需要加上第三步,否则可不加
第三步 3. 在 build.gradle(app模块中) 引入 'kotlin-kapt'
plugins {
    ...
    ...
    id 'kotlin-kapt'
}

注意:如果运行编译出现 "task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task (current target is 17) jvm" 问题,
可直接在 build.gradle(app模块中) 添加以下关系来解决:

android {
    ...
    ...
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile.class){
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }

}

注意事项:

1.最新版Android Studio Arctic Fox | 2020.3.1的引用库的地方在另外的一个文件夹上

2.在 build.gradle(app模块中) 引入 'kotlin-kapt'

 

3.在 build.gradle(app模块中) 添加以下关系来解决:

4.如果出现 注解ID 资源爆红,就参考这个解决办法:

 注解ID爆红解决办法:

 提供复制粘贴:

android.nonFinalResIds=false

5.同步后如果出现 :The number of method references in a .dex file cannot exceed 64K. 错误,解决办法:

 multiDexEnabled true //只需要将此设置为 true 即可

如需要使用GT库里的 GT-DataBinding功能,才需要参考下面教程: 

在GT库,v1.4.2.2版本以及之后的版本均不需要外加 jar 包,直接添加依赖即可~

分功能使用到的权限:(权限参考)

    <!-- U盘操作 -->
    <uses-permission
        android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions" />

    <!-- 悬浮窗 -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <!-- 网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        tools:ignore="ScopedStorage" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


     <application ...
       <!-- 自动安装APK -->
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="com.gsls.gt.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>

    </application>

 GT混淆:

#不混淆GT库
-keep public class com.gsls.gt.GT { *; }
#不混淆 继承GT类 或 继承GT内部类 的类
-keep public class * extends com.gsls.gt.GT { *; }
-keep public class * extends com.gsls.gt.GT$* { *; }

猜你喜欢

转载自blog.csdn.net/qq_39799899/article/details/120165435