Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
HBHAndroid
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨秀秀
HBHAndroid
Commits
c32735cf
Commit
c32735cf
authored
Aug 11, 2023
by
杨秀秀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
基础搭建
1:添加dsBridge 功能开发
parent
f3d5c09a
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1362 additions
and
0 deletions
+1362
-0
build.gradle
dsbridge/build.gradle
+36
-0
proguard-rules.pro
dsbridge/proguard-rules.pro
+330
-0
tbs_sdk_thirdapp_v3.6.0.1325_43613_sharewithdownload_withoutGame_obfs_20180807_151115.jar
...13_sharewithdownload_withoutGame_obfs_20180807_151115.jar
+0
-0
AndroidManifest.xml
dsbridge/src/main/AndroidManifest.xml
+12
-0
CompletionHandler.java
dsbridge/src/main/java/wendu/dsbridge/CompletionHandler.java
+11
-0
DWebView.java
dsbridge/src/main/java/wendu/dsbridge/DWebView.java
+961
-0
OnReturnValue.java
dsbridge/src/main/java/wendu/dsbridge/OnReturnValue.java
+9
-0
strings.xml
dsbridge/src/main/res/values/strings.xml
+3
-0
No files found.
dsbridge/build.gradle
0 → 100644
View file @
c32735cf
apply
plugin:
'com.android.library'
android
{
compileSdkVersion
33
buildToolsVersion
'25.0.0'
namespace
'wendu.dsbridge'
defaultConfig
{
minSdkVersion
23
targetSdkVersion
33
versionCode
1
versionName
"1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes
{
release
{
minifyEnabled
false
proguardFiles
getDefaultProguardFile
(
'proguard-android.txt'
),
'proguard-rules.pro'
}
}
lintOptions
{
abortOnError
false
}
}
dependencies
{
api
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
api
(
'com.android.support.test.espresso:espresso-core:2.2.2'
,
{
exclude
group:
'com.android.support'
,
module:
'support-annotations'
})
api
'com.android.support:appcompat-v7:23.4.0'
testImplementation
'junit:junit:4.12'
compileOnly
'com.tencent.tbs:tbssdk:44226'
api
files
(
'src/libs/tbs_sdk_thirdapp_v3.6.0.1325_43613_sharewithdownload_withoutGame_obfs_20180807_151115.jar'
)
}
dsbridge/proguard-rules.pro
0 → 100644
View file @
c32735cf
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/du/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 *;
#}
#-optimizationpasses 7
#-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
keepattributes
*
JavascriptInterface
*
-
keepattributes
Signature
-
keepattributes
*
Annotation
*
-
dontoptimize
-
dontusemixedcaseclassnames
-
verbose
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontwarn
dalvik
.
**
-
dontwarn
com
.
tencent
.
smtt
.
**
#-overloadaggressively
#@proguard_debug_start
# ------------------ Keep LineNumbers and properties ---------------- #
-
keepattributes
Exceptions
,
InnerClasses
,
Signature
,
Deprecated
,
SourceFile
,
LineNumberTable
,
*
Annotation
*,
EnclosingMethod
-
renamesourcefileattribute
TbsSdkJava
-
keepattributes
SourceFile
,
LineNumberTable
#@proguard_debug_end
# --------------------------------------------------------------------------
# Addidional for x5.sdk classes for apps
-
keep
class
com
.
tencent
.
smtt
.
export
.
external
.
**
{
*
;
}
-
keep
class
com
.
tencent
.
tbs
.
video
.
interfaces
.
IUserStateChangedListener
{
*
;
}
-
keep
class
com
.
tencent
.
smtt
.
sdk
.
CacheManager
{
public
*
;
}
-
keep
class
com
.
tencent
.
smtt
.
sdk
.
CookieManager
{
public
*
;
}
-
keep
class
com
.
tencent
.
smtt
.
sdk
.
WebHistoryItem
{
public
*
;
}
-
keep
class
com
.
tencent
.
smtt
.
sdk
.
WebViewDatabase
{
public
*
;
}
-
keep
class
com
.
tencent
.
smtt
.
sdk
.
WebBackForwardList
{
public
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebView
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebView
$
HitTestResult
{
public
static
final
<
fields
>
;
public
java
.
lang
.
String
getExtra
();
public
int
getType
();
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebView
$
WebViewTransport
{
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebView
$
PictureListener
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keepattributes
InnerClasses
-
keep
public
enum
com
.
tencent
.
smtt
.
sdk
.
WebSettings
$
**
{
*
;
}
-
keep
public
enum
com
.
tencent
.
smtt
.
sdk
.
QbSdk
$
**
{
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebSettings
{
public
*
;
}
-
keepattributes
Signature
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
ValueCallback
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebViewClient
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
DownloadListener
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebChromeClient
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebChromeClient
$
FileChooserParams
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
class
com
.
tencent
.
smtt
.
sdk
.
SystemWebChromeClient
{
public
*
;
}
# 1. extension interfaces should be apparent
-
keep
public
class
com
.
tencent
.
smtt
.
export
.
external
.
extension
.
interfaces
.
*
{
public
protected
*
;
}
# 2. interfaces should be apparent
-
keep
public
class
com
.
tencent
.
smtt
.
export
.
external
.
interfaces
.
*
{
public
protected
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebViewCallbackClient
{
public
protected
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebStorage
$
QuotaUpdater
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebIconDatabase
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
WebStorage
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
DownloadListener
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
QbSdk
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
QbSdk
$
PreInitCallback
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
CookieSyncManager
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
Tbs
*
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
utils
.
LogFileUtils
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
utils
.
TbsLog
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
utils
.
TbsLogClient
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
CookieSyncManager
{
public
<
fields
>
;
public
<
methods
>
;
}
# Added for game demos
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGamePlayer
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGamePlayerClient
*
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGamePlayerClientExtension
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGamePlayerService
*
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
utils
.
Apn
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
class
com
.
tencent
.
smtt
.
**
{
*
;
}
# end
-
keep
public
class
com
.
tencent
.
smtt
.
export
.
external
.
extension
.
proxy
.
ProxyWebViewClientExtension
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
class
MTT
.
ThirdAppInfoNew
{
*
;
}
-
keep
class
com
.
tencent
.
mtt
.
MttTraceEvent
{
*
;
}
# Game related
-
keep
public
class
com
.
tencent
.
smtt
.
gamesdk
.
*
{
public
protected
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGameBooter
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGameBaseActivity
{
public
protected
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
sdk
.
TBSGameBaseActivityProxy
{
public
protected
*
;
}
-
keep
public
class
com
.
tencent
.
smtt
.
gamesdk
.
internal
.
TBSGameServiceClient
{
public
*
;
}
#---------------------------------------------------------------------------
#------------------ 下方是android平台自带的排除项,这里不要动 ----------------
-
keep
public
class
*
extends
android
.
app
.
Activity
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
*
extends
android
.
app
.
Application
{
public
<
fields
>
;
public
<
methods
>
;
}
-
keep
public
class
*
extends
android
.
app
.
Service
-
keep
public
class
*
extends
android
.
content
.
BroadcastReceiver
-
keep
public
class
*
extends
android
.
content
.
ContentProvider
-
keep
public
class
*
extends
android
.
app
.
backup
.
BackupAgentHelper
-
keep
public
class
*
extends
android
.
preference
.
Preference
-
keepclassmembers
enum
*
{
public
static
**
[]
values
();
public
static
**
valueOf
(
java
.
lang
.
String
);
}
-
keepclasseswithmembers
class
*
{
public
<
init
>
(
android
.
content
.
Context
,
android
.
util
.
AttributeSet
);
}
-
keepclasseswithmembers
class
*
{
public
<
init
>
(
android
.
content
.
Context
,
android
.
util
.
AttributeSet
,
int
);
}
-
keepattributes
*
Annotation
*
-
keepclasseswithmembernames
class
*
{
native
<
methods
>
;
}
-
keep
class
*
implements
android
.
os
.
Parcelable
{
public
static
final
android
.
os
.
Parcelable
$
Creator
*
;
}
#------------------ 下方是共性的排除项目 ----------------
# 方法名中含有“JNI”字符的,认定是Java Native Interface方法,自动排除
# 方法名中含有“JRI”字符的,认定是Java Reflection Interface方法,自动排除
-
keepclasseswithmembers
class
*
{
...
*
JNI
*
(...);
}
-
keepclasseswithmembernames
class
*
{
...
*
JRI
*
(...);
}
-
keep
class
**
JNI
*
{
*
;}
dsbridge/src/libs/tbs_sdk_thirdapp_v3.6.0.1325_43613_sharewithdownload_withoutGame_obfs_20180807_151115.jar
0 → 100644
View file @
c32735cf
File added
dsbridge/src/main/AndroidManifest.xml
0 → 100644
View file @
c32735cf
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"wendu.dsbridge"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<application
android:allowBackup=
"true"
android:label=
"@string/app_name"
android:supportsRtl=
"true"
>
</application>
</manifest>
dsbridge/src/main/java/wendu/dsbridge/CompletionHandler.java
0 → 100644
View file @
c32735cf
package
wendu
.
dsbridge
;
/**
* Created by du on 16/12/31.
*/
public
interface
CompletionHandler
<
T
>
{
void
complete
(
T
retValue
);
void
complete
();
void
setProgressData
(
T
value
);
}
dsbridge/src/main/java/wendu/dsbridge/DWebView.java
0 → 100644
View file @
c32735cf
This diff is collapsed.
Click to expand it.
dsbridge/src/main/java/wendu/dsbridge/OnReturnValue.java
0 → 100644
View file @
c32735cf
package
wendu
.
dsbridge
;
/**
* Created by du on 16/12/31.
*/
public
interface
OnReturnValue
<
T
>
{
void
onValue
(
T
retValue
);
}
dsbridge/src/main/res/values/strings.xml
0 → 100644
View file @
c32735cf
<resources>
<string
name=
"app_name"
>
JsBridge
</string>
</resources>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment