Commit 7931895f authored by liuyang's avatar liuyang

升级AndroidX

#BYLSERVER-1438
parent 70ba0ce4
...@@ -7,12 +7,12 @@ static def releaseTime() { ...@@ -7,12 +7,12 @@ static def releaseTime() {
} }
android { android {
compileSdkVersion 27 compileSdkVersion 30
defaultConfig { defaultConfig {
applicationId "com.duolebo.bylrobot" applicationId "com.duolebo.bylrobot"
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 22 targetSdkVersion 26
versionCode 28 versionCode 30
versionName "1.6.8" versionName "1.6.8"
} }
...@@ -47,7 +47,7 @@ dependencies { ...@@ -47,7 +47,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation(name: 'appbase-release', ext: 'aar') implementation(name: 'appbase-release', ext: 'aar')
implementation 'com.android.volley:volley:1.1.1' implementation 'com.android.volley:volley:1.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'org.nanohttpd:nanohttpd:2.2.0' implementation 'org.nanohttpd:nanohttpd:2.2.0'
implementation(name: 'vpnadaptercore-release', ext: 'aar') implementation(name: 'vpnadaptercore-release', ext: 'aar')
implementation project(':uploadservice') implementation project(':uploadservice')
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".CaptureActivity" /> <activity android:name=".activity.CaptureActivity" />
<activity android:name=".activity.PackageListActivity" /> <activity android:name=".activity.PackageListActivity" />
<service android:name=".service.BylRobotService"/> <service android:name=".service.BylRobotService"/>
......
...@@ -3,13 +3,12 @@ package com.duolebo.blyrobot ...@@ -3,13 +3,12 @@ package com.duolebo.blyrobot
import android.content.Intent import android.content.Intent
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Bundle import android.os.Bundle
import android.support.v4.content.LocalBroadcastManager
import android.support.v7.app.AppCompatActivity
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.BaseAdapter import android.widget.BaseAdapter
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.duolebo.appbase.AppBaseHandler import com.duolebo.appbase.AppBaseHandler
import com.duolebo.appbase.IAppBaseCallback import com.duolebo.appbase.IAppBaseCallback
import com.duolebo.appbase.IProtocol import com.duolebo.appbase.IProtocol
......
package com.duolebo.blyrobot package com.duolebo.blyrobot.activity
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log import android.util.Log
import android.widget.* import android.widget.*
import com.duolebo.blyrobot.activity.PackageListActivity import androidx.appcompat.app.AppCompatActivity
import com.duolebo.blyrobot.R
import com.duolebo.blyrobot.data.ApkPackageInfo import com.duolebo.blyrobot.data.ApkPackageInfo
import com.duolebo.blyrobot.service.BylRobotService import com.duolebo.blyrobot.service.BylRobotService
import com.duolebo.blyrobot.service.BylWebService import com.duolebo.blyrobot.service.BylWebService
......
...@@ -2,7 +2,7 @@ package com.duolebo.blyrobot.activity ...@@ -2,7 +2,7 @@ package com.duolebo.blyrobot.activity
import android.os.Bundle import android.os.Bundle
import android.os.PersistableBundle import android.os.PersistableBundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
class CaptureDetailActivity: AppCompatActivity() { class CaptureDetailActivity: AppCompatActivity() {
......
...@@ -4,10 +4,10 @@ import android.content.Intent ...@@ -4,10 +4,10 @@ import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.* import android.widget.*
import androidx.appcompat.app.AppCompatActivity
import com.duolebo.blyrobot.R import com.duolebo.blyrobot.R
import com.minhui.vpn.utils.ThreadProxy import com.minhui.vpn.utils.ThreadProxy
......
...@@ -29,8 +29,8 @@ class ApkPackageInfo : Parcelable { ...@@ -29,8 +29,8 @@ class ApkPackageInfo : Parcelable {
protected constructor(ins: Parcel) { protected constructor(ins: Parcel) {
this.appName = ins.readString() this.appName = ins.readString()
this.packageName = ins.readString() this.packageName = ins.readString().toString()
this.applicationInfo = ins.readParcelable(ApplicationInfo::class.java.classLoader) this.applicationInfo = ins.readParcelable(ApplicationInfo::class.java.classLoader)!!
} }
companion object { companion object {
......
...@@ -7,7 +7,6 @@ import android.content.Context ...@@ -7,7 +7,6 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.os.IBinder import android.os.IBinder
import android.support.v4.content.LocalBroadcastManager
import android.util.Log import android.util.Log
import com.duolebo.appbase.AppBaseHandler import com.duolebo.appbase.AppBaseHandler
import com.duolebo.appbase.IAppBaseCallback import com.duolebo.appbase.IAppBaseCallback
......
...@@ -12,6 +12,7 @@ object AdbUtil { ...@@ -12,6 +12,7 @@ object AdbUtil {
const val TAG = "TaskAdbUtil" const val TAG = "TaskAdbUtil"
const val SHELL = "sh" const val SHELL = "sh"
const val ROOT_SHELL = "su" const val ROOT_SHELL = "su"
const val ID_U = "id -u"
const val LINE_BREAK = "\n" const val LINE_BREAK = "\n"
const val EXIT = "exit" const val EXIT = "exit"
...@@ -22,8 +23,8 @@ object AdbUtil { ...@@ -22,8 +23,8 @@ object AdbUtil {
var proc = getShellProc(ROOT_SHELL) ?: return false var proc = getShellProc(ROOT_SHELL) ?: return false
Log.i(TAG, "get root proc success!") Log.i(TAG, "get root proc success!")
val commands = ArrayList<String>() val commands = ArrayList<String>()
commands.add("id -u") commands.add(ID_U)
val result = this.sendCommands(commands, proc) var result = this.sendCommands(commands, proc)
Log.i(TAG, "check permission error ${result.errorLines} and message ${result.successLines}") Log.i(TAG, "check permission error ${result.errorLines} and message ${result.successLines}")
if (isRoot(result)) { if (isRoot(result)) {
return true return true
...@@ -31,8 +32,8 @@ object AdbUtil { ...@@ -31,8 +32,8 @@ object AdbUtil {
else { else {
proc = getShellProc(SHELL) ?: return false proc = getShellProc(SHELL) ?: return false
commands.clear() commands.clear()
commands.add("id -u") commands.add(ID_U)
val result = this.sendCommands(commands, proc) result = this.sendCommands(commands, proc)
if (isRoot(result)) if (isRoot(result))
return true return true
} }
...@@ -84,6 +85,70 @@ object AdbUtil { ...@@ -84,6 +85,70 @@ object AdbUtil {
return proc return proc
} }
fun exeSingleCmdEcho(command: String): CmdResult {
Log.i(TAG, "exe single cmd echo: $command")
val result = CmdResult(-1, "", "")
var status = -1
var successBufReader: BufferedReader? = null
var errorBufReader: BufferedReader? = null
var dos: DataOutputStream? = null
try {
val proc = Runtime.getRuntime().exec(command)
successBufReader = BufferedReader(InputStreamReader(proc.inputStream))
errorBufReader = BufferedReader(InputStreamReader(proc.errorStream))
var lineStr: String? = null
do {
lineStr = successBufReader.readLine()
if (lineStr.isNullOrEmpty())
break
lineStr = trimLine(lineStr)
Log.i(TAG, " success line echo : $lineStr")
} while (true)
do {
lineStr = errorBufReader.readLine()
if (lineStr.isNullOrEmpty())
break
lineStr = trimLine(lineStr)
Log.i(TAG, " error line echo : $lineStr")
} while (true)
status = proc.waitFor()
} catch (e: IOException) {
e.printStackTrace()
} catch (e: Exception) {
e.printStackTrace()
} finally {
try {
dos?.close()
successBufReader?.close()
errorBufReader?.close()
} catch (e: IOException) {
e.printStackTrace()
}
}
Log.i(TAG, "error message:${result.errorLines} and status $status")
if (result.errorLines.size > 0 && result.successLines.size <= 0)
status = -1
result.status = status
for (line in result.successLines) {
Log.i(TAG, "echo success line: $line")
}
for (line in result.errorLines) {
Log.i(TAG, "echo error line: $line")
}
return result
}
fun exeCmdEcho(cmd: String, root: Boolean = false): CmdResult { fun exeCmdEcho(cmd: String, root: Boolean = false): CmdResult {
val exeCommands = ArrayList<String>() val exeCommands = ArrayList<String>()
exeCommands.add(cmd) exeCommands.add(cmd)
...@@ -124,7 +189,7 @@ object AdbUtil { ...@@ -124,7 +189,7 @@ object AdbUtil {
var dos: DataOutputStream? = null var dos: DataOutputStream? = null
try { try {
dos = DataOutputStream(proc!!.outputStream) dos = DataOutputStream(proc.outputStream)
for (command in commands) { for (command in commands) {
if (command.isEmpty()) { if (command.isEmpty()) {
continue continue
......
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { buildscript {
ext.kotlin_version = '1.2.71' ext.kotlin_version = '1.3.70'
repositories { repositories {
google() google()
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.1.4' classpath 'com.android.tools.build:gradle:4.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
} }
} }
allprojects { allprojects {
...@@ -26,17 +27,6 @@ allprojects { ...@@ -26,17 +27,6 @@ allprojects {
dirs '../../aars' dirs '../../aars'
} }
} }
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.1.1"
}
}
}
}
} }
task clean(type: Delete) { task clean(type: Delete) {
......
...@@ -17,3 +17,4 @@ org.gradle.jvmargs=-Xmx1536m ...@@ -17,3 +17,4 @@ org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX # Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true android.enableJetifier=true
android.injected.testOnly=false
#Tue Sep 25 09:27:36 CST 2018 #Wed Jul 08 10:14:08 CST 2020
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
android.enableBuildCache=false android.enableBuildCache=false
...@@ -35,8 +35,8 @@ android { ...@@ -35,8 +35,8 @@ android {
def supportLibraryVersion = "27.1.1" def supportLibraryVersion = "27.1.1"
dependencies { dependencies {
implementation "com.android.support:appcompat-v7:${supportLibraryVersion}" implementation 'androidx.appcompat:appcompat:1.0.0'
implementation "com.android.support:support-v4:${supportLibraryVersion}" implementation 'androidx.legacy:legacy-support-v4:1.0.0'
} }
// add the following information to the file: local.properties situated in the parent directory of // add the following information to the file: local.properties situated in the parent directory of
......
...@@ -3,7 +3,7 @@ package net.gotev.uploadservice; ...@@ -3,7 +3,7 @@ package net.gotev.uploadservice;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.v4.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import android.text.TextUtils; import android.text.TextUtils;
/** /**
......
...@@ -4,7 +4,7 @@ import android.app.PendingIntent; ...@@ -4,7 +4,7 @@ import android.app.PendingIntent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
/** /**
* Contains the configuration of the upload notification. * Contains the configuration of the upload notification.
......
...@@ -6,7 +6,7 @@ import android.content.Intent; ...@@ -6,7 +6,7 @@ import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.v4.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import java.util.ArrayList; import java.util.ArrayList;
......
...@@ -9,7 +9,7 @@ import android.media.RingtoneManager; ...@@ -9,7 +9,7 @@ import android.media.RingtoneManager;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.support.v4.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment