升级:gradle及依赖版本

This commit is contained in:
pppscn 2022-09-21 16:10:55 +08:00
parent a21e604571
commit fc45b7fc5b
9 changed files with 65 additions and 46 deletions

View File

@ -162,15 +162,16 @@ android {
}
}
lintOptions {
abortOnError false
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
lint {
abortOnError false
}
namespace 'com.idormy.sms.forwarder'
}
@ -183,11 +184,11 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation deps.espresso.core
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.core:core-ktx:1.9.0'
implementation "androidx.activity:activity-ktx:1.5.1"
implementation "androidx.fragment:fragment-ktx:1.5.1"
implementation "androidx.fragment:fragment-ktx:1.5.2"
implementation "androidx.cardview:cardview:1.0.0"
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
//

View File

@ -285,4 +285,11 @@
-keep class javax.mail.** { *;}
-keep class javax.activation.** { *;}
-keep class com.smailnet.emailkit.** { *;}
-keep class com.idormy.sms.forwarder.utils.mail.** {*;}
-keep class com.idormy.sms.forwarder.utils.mail.** {*;}
-keep public class com.xuexiang.xrouter.routes.**{*;}
-keep class * implements com.xuexiang.xrouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.xuexiang.xrouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.xuexiang.xrouter.facade.template.IProvider

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.idormy.sms.forwarder"
android:installLocation="internalOnly">
<uses-permission
@ -56,7 +55,6 @@
<application
android:name=".App"
android:allowBackup="true"
android:configChanges="screenSize|keyboardHidden|orientation|keyboard"
android:fullBackupContent="@xml/backup_descriptor"
android:hardwareAccelerated="true"
@ -70,8 +68,7 @@
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
android:windowSoftInputMode="adjustPan|stateHidden"
tools:ignore="DataExtractionRules,LockedOrientationActivity,UnusedAttribute"
tools:replace="android:allowBackup">
tools:ignore="DataExtractionRules,LockedOrientationActivity,UnusedAttribute">
<meta-data
android:name="ScopedStorage"

View File

@ -146,7 +146,12 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
R.id.nav_frpc -> {
if (!FileUtils.isFileExists(filesDir.absolutePath + "/libs/libgojni.so")) {
MaterialDialog.Builder(this)
.title(String.format(getString(R.string.frpclib_download_title), FRPC_LIB_VERSION))
.title(
String.format(
getString(R.string.frpclib_download_title),
FRPC_LIB_VERSION
)
)
.content(R.string.download_frpc_tips)
.positiveText(R.string.lab_yes)
.negativeText(R.string.lab_no)
@ -196,9 +201,15 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
binding!!.includeMain.toolbar.title = item.title
binding!!.includeMain.toolbar.menu.clear()
when {
item.title.equals(getString(R.string.menu_rules)) -> binding!!.includeMain.toolbar.inflateMenu(R.menu.menu_rules)
item.title.equals(getString(R.string.menu_senders)) -> binding!!.includeMain.toolbar.inflateMenu(R.menu.menu_senders)
item.title.equals(getString(R.string.menu_settings)) -> binding!!.includeMain.toolbar.inflateMenu(R.menu.menu_settings)
getString(R.string.menu_rules) == item.title -> binding!!.includeMain.toolbar.inflateMenu(
R.menu.menu_rules
)
getString(R.string.menu_rules) == item.title -> binding!!.includeMain.toolbar.inflateMenu(
R.menu.menu_senders
)
getString(R.string.menu_rules) == item.title -> binding!!.includeMain.toolbar.inflateMenu(
R.menu.menu_settings
)
else -> binding!!.includeMain.toolbar.inflateMenu(R.menu.menu_logs)
}
item.isChecked = true
@ -232,11 +243,12 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
* @return
*/
private fun handleNavigationItemSelected(menuItem: MenuItem): Boolean {
val index = CollectionUtils.arrayIndexOf(mTitles, menuItem.title)
if (index != -1) {
binding!!.includeMain.toolbar.title = menuItem.title
binding!!.includeMain.viewPager.setCurrentItem(index, false)
return true
for (index in mTitles.indices) {
if (mTitles[index] == menuItem.title) {
binding!!.includeMain.toolbar.title = menuItem.title
binding!!.includeMain.viewPager.setCurrentItem(index, false)
return true
}
}
return false
}
@ -273,7 +285,8 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
}
R.id.action_add_sender -> {
val dialog = BottomSheetDialog(this)
val view: View = LayoutInflater.from(this).inflate(R.layout.dialog_sender_bottom_sheet, null)
val view: View =
LayoutInflater.from(this).inflate(R.layout.dialog_sender_bottom_sheet, null)
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
WidgetUtils.initGridRecyclerView(recyclerView, 4, DensityUtils.dp2px(1f))
@ -312,12 +325,13 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
* @return
*/
override fun onNavigationItemSelected(menuItem: MenuItem): Boolean {
val index = CollectionUtils.arrayIndexOf(mTitles, menuItem.title)
if (index != -1) {
binding!!.includeMain.toolbar.title = menuItem.title
binding!!.includeMain.viewPager.setCurrentItem(index, false)
updateSideNavStatus(menuItem)
return true
for (index in mTitles.indices) {
if (mTitles[index] == menuItem.title) {
binding!!.includeMain.toolbar.title = menuItem.title
binding!!.includeMain.viewPager.setCurrentItem(index, false)
updateSideNavStatus(menuItem)
return true
}
}
return false
}

View File

@ -616,7 +616,7 @@
<string name="toast_granted_part">Some permissions are successfully obtained, but some permissions are not granted normally, and some functions of the APP may be limited!</string>
<string name="toast_denied_never">Permanently denied authorization, go to system settings to manually grant permissions?</string>
<string name="toast_denied">Failed to obtain necessary permissions, APP function may be limited!</string>
<string name="tips_first_time">\n&#160;&#160;&#160;&#160;首次使用请按照1234步骤顺序设置数字点亮表示该步骤已设置(4点亮表示有成功日志)\n\n&#160;&#160;&#160;&#160;根据以往用户反馈90%的新用户最终排查结果都是手机权限设置问题5%的用户是APP保活问题其他问题排查参考Wiki中的常见问题APP右上角使用帮助入口\n\n&#160;&#160;&#160;&#160;强烈建议: 手动排查一下系统设置: 自启动、电源策略、APP的权限把所有权限打开始终允许不要“使用中允许”MIUI系统就全部变绿特别是一些国产定制系统加入隐私保护、验证码保护等例如: MIUI 系统的 空白通行证)\n\n&#160;&#160;&#160;&#160;请选择是否立即“前往系统设置”检查,或“稍后自行处理”?</string>
<string name="tips_first_time" formatted="false">\n&#160;&#160;&#160;&#160;首次使用请按照1234步骤顺序设置数字点亮表示该步骤已设置(4点亮表示有成功日志)\n\n&#160;&#160;&#160;&#160;根据以往用户反馈90%的新用户最终排查结果都是手机权限设置问题5%的用户是APP保活问题其他问题排查参考Wiki中的常见问题APP右上角使用帮助入口\n\n&#160;&#160;&#160;&#160;强烈建议: 手动排查一下系统设置: 自启动、电源策略、APP的权限把所有权限打开始终允许不要“使用中允许”MIUI系统就全部变绿特别是一些国产定制系统加入隐私保护、验证码保护等例如: MIUI 系统的 空白通行证)\n\n&#160;&#160;&#160;&#160;请选择是否立即“前往系统设置”检查,或“稍后自行处理”?</string>
<string name="play_silence_music">Play Silent Music</string>
<string name="play_silence_music_tips">Play silent music to keep running in the background, which may consume more power, enable it on demand</string>
<string name="one_pixel">One Pixel</string>
@ -684,7 +684,7 @@
<string name="bark_level_active">Immediately display notifications</string>
<string name="bark_level_timeSensitive">Time-sensitive notifications that can be displayed in a focused state</string>
<string name="bark_level_passive">Only added to the notification list, no screen reminder</string>
<string name="bark_url_regex" tools:ignore="TypographyDashes"><![CDATA[^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]]]></string>
<string name="bark_url_regex" tools:ignore="TypographyDashes" formatted="false"><![CDATA[^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]]]></string>
<string name="bark_url_error">Url format error</string>
<string name="from_email_hint">Fill in the username before @</string>
@ -699,7 +699,7 @@
<string name="webhook_server">Webhook Server</string>
<string name="webhook_server_tips">For example: https://a.b.com/msg?token=xyz</string>
<string name="webhook_params">Params</string>
<string name="webhook_params_tips">For example: payload=%7B%22text%22%3A%22[msg]%22%7D [msg] will be replaced with SMS content.\nJson format is supported, for example: {\"text\":\"[msg]\"}.\nNote: msg is automatically UTF-8 encoded except in JSON format</string>
<string name="webhook_params_tips" formatted="false">For example: payload=%7B%22text%22%3A%22[msg]%22%7D [msg] will be replaced with SMS content.\nJson format is supported, for example: {\"text\":\"[msg]\"}.\nNote: msg is automatically UTF-8 encoded except in JSON format</string>
<string name="webhook_secret">Secret: If it is empty, the sign will not be calculated</string>
<string name="headers">Headers</string>
<string name="header_key">Key</string>
@ -839,7 +839,7 @@
<string name="remote_sms">Remote SMS</string>
<string name="clear">Clear</string>
<string name="storage_permission_tips">Unauthorized storage permission, this function cannot be used!</string>
<string name="contact_info">Name%s\nPhone%s</string>
<string name="contact_info" formatted="false">Name%s\nPhone%s</string>
<string name="card_slot_does_not_match">Card slot does not match the rule</string>
<string name="unmatched_rule">Unmatched rule</string>
<string name="copied_to_clipboard">Copied to clipboard:\n%s</string>
@ -864,7 +864,7 @@
<string name="sign_verify_failed">Sign verify failed</string>
<string name="version_code_required">version_code required</string>
<string name="inconsistent_version">The app versions of the client and server are inconsistent</string>
<string name="timestamp_verify_failed">The timestamp verification failed, and the difference with the server time (%s) cannot exceed 1 hour (diffTime=%s)</string>
<string name="timestamp_verify_failed" formatted="false">The timestamp verification failed, and the difference with the server time (%s) cannot exceed 1 hour (diffTime=%s)</string>
<string name="main_title">Main title</string>
<string name="subtitle">Subtitle</string>

View File

@ -617,7 +617,7 @@
<string name="toast_granted_part">获取部分权限成功但部分权限未正常授予APP部分功能可能受限</string>
<string name="toast_denied_never">被永久拒绝授权,前往系统设置手动授予权限?</string>
<string name="toast_denied">获取必需的权限失败APP功能可能受限</string>
<string name="tips_first_time">\n&#160;&#160;&#160;&#160;首次使用请按照1234步骤顺序设置数字点亮表示该步骤已设置(4点亮表示有成功日志)\n\n&#160;&#160;&#160;&#160;根据以往用户反馈90%的新用户最终排查结果都是手机权限设置问题5%的用户是APP保活问题其他问题排查参考Wiki中的常见问题APP右上角使用帮助入口\n\n&#160;&#160;&#160;&#160;强烈建议手动排查一下系统设置自启动、电源策略、APP的权限把所有权限打开始终允许不要“使用中允许”MIUI系统就全部变绿特别是一些国产定制系统加入隐私保护、验证码保护等例如MIUI 系统的 空白通行证)\n\n&#160;&#160;&#160;&#160;请选择是否立即“前往系统设置”检查,或“稍后自行处理”?</string>
<string name="tips_first_time" formatted="false">\n&#160;&#160;&#160;&#160;首次使用请按照1234步骤顺序设置数字点亮表示该步骤已设置(4点亮表示有成功日志)\n\n&#160;&#160;&#160;&#160;根据以往用户反馈90%的新用户最终排查结果都是手机权限设置问题5%的用户是APP保活问题其他问题排查参考Wiki中的常见问题APP右上角使用帮助入口\n\n&#160;&#160;&#160;&#160;强烈建议手动排查一下系统设置自启动、电源策略、APP的权限把所有权限打开始终允许不要“使用中允许”MIUI系统就全部变绿特别是一些国产定制系统加入隐私保护、验证码保护等例如MIUI 系统的 空白通行证)\n\n&#160;&#160;&#160;&#160;请选择是否立即“前往系统设置”检查,或“稍后自行处理”?</string>
<string name="play_silence_music">后台播放无声音乐</string>
<string name="play_silence_music_tips">【按需启用】播放无声音乐让后台一直运行,可能比较耗电</string>
<string name="one_pixel">1像素</string>
@ -685,7 +685,7 @@
<string name="bark_level_active">立即亮屏显示通知</string>
<string name="bark_level_timeSensitive">时效性通知,可在专注状态下显示通知</string>
<string name="bark_level_passive">仅添加到通知列表,不会亮屏提醒</string>
<string name="bark_url_regex" tools:ignore="TypographyDashes"><![CDATA[^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]]]></string>
<string name="bark_url_regex" tools:ignore="TypographyDashes" formatted="false"><![CDATA[^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]]]></string>
<string name="bark_url_error">Url格式错误</string>
<string name="from_email_hint">填写 @ 前面的用户名</string>
@ -700,7 +700,7 @@
<string name="webhook_server">Webhook Server</string>
<string name="webhook_server_tips">例如https://a.b.com/msg?token=xyz</string>
<string name="webhook_params">Params</string>
<string name="webhook_params_tips">例如payload=%7B%22text%22%3A%22[msg]%22%7D [msg]将被替换成短信内容。\n支持Json格式例如{\"text\":\"[msg]\"}。\n注意除JSON格式外msg会自动进行UTF-8编码</string>
<string name="webhook_params_tips" formatted="false">例如payload=%7B%22text%22%3A%22[msg]%22%7D [msg]将被替换成短信内容。\n支持Json格式例如{\"text\":\"[msg]\"}。\n注意除JSON格式外msg会自动进行UTF-8编码</string>
<string name="webhook_secret">Secret置空则不计算sign</string>
<string name="headers">Headers</string>
<string name="header_key">Key</string>
@ -840,7 +840,7 @@
<string name="remote_sms">远程发短信:</string>
<string name="clear">清除</string>
<string name="storage_permission_tips">未授权储存权限,该功能无法使用!</string>
<string name="contact_info">姓名:%s\n号码%s</string>
<string name="contact_info" formatted="false">姓名:%s\n号码%s</string>
<string name="card_slot_does_not_match">卡槽未匹配中规则</string>
<string name="unmatched_rule">未匹配中规则</string>
<string name="copied_to_clipboard">已复制到剪贴板:\n%s</string>
@ -865,7 +865,7 @@
<string name="sign_verify_failed">签名校验失败</string>
<string name="version_code_required">version_code节点必传</string>
<string name="inconsistent_version">客户端与服务端的App版本不一致</string>
<string name="timestamp_verify_failed">timestamp校验失败与服务器时间(%s)误差不能超过1小时(diffTime=%s)</string>
<string name="timestamp_verify_failed" formatted="false">timestamp校验失败与服务器时间(%s)误差不能超过1小时(diffTime=%s)</string>
<string name="main_title">主标题</string>
<string name="subtitle">副标题</string>

View File

@ -1,6 +1,6 @@
apply plugin: 'com.xuexiang.xrouter'
apply plugin: 'kotlin-kapt'
apply plugin: 'android-aspectjx'
//apply plugin: 'android-aspectjx'
apply plugin: 'com.xuexiang.xaop'
//
@ -53,6 +53,6 @@ configurations.all {
}
//
aspectjx {
include 'com.idormy.sms.forwarder'
}
//aspectjx {
// include 'com.idormy.sms.forwarder'
//}

View File

@ -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-7.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip

View File

@ -5,13 +5,13 @@ def build_versions = [:]
build_versions.version_code = 47
build_versions.version_name = "3.0.9"
build_versions.min_sdk = 19
build_versions.target_sdk = 32
build_versions.build_tools = "32.0.0"
build_versions.target_sdk = 33
build_versions.build_tools = "33.0.0"
ext.build_versions = build_versions
ext.deps = [:]
def versions = [:]
versions.android_gradle_plugin = '7.1.3'
versions.android_gradle_plugin = '7.3.0'
versions.android_maven_gradle_plugin = "2.1"
versions.gradle_bintray_plugin = "1.8.0"
versions.booster = "3.1.0"
@ -215,7 +215,7 @@ project.buildscript.configurations.each { configuration ->
//XRouter插件
configuration.dependencies.add(dependencies.create(deps.xlibrary.xrouter_plugin))
//AspectJX
configuration.dependencies.add(dependencies.create('com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10'))
//configuration.dependencies.add(dependencies.create('com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10'))
//kotlin插件
configuration.dependencies.add(dependencies.create("org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"))
}