Android原生插件开发在hbuilder中引入aar离线打包制作自定义基座来运行报错闪退,但是把uniapp打包到本地通过AndroidStudio来运行没问题。
使用了第三方的库,google-webrtc。
找到闪退日志java.lang.NoClassDefFoundError: Failed resolution of: Lorg/webrtc/SurfaceViewRenderer;
at com.suncd.uniplugin_rtcplayer.RtcPlayer.initComponentHostView(RtcPlayer.java:39)
at com.suncd.uniplugin_rtcplayer.RtcPlayer.initComponentHostView(RtcPlayer.java:22)
at com.taobao.weex.ui.component.WXComponent.createViewImpl(WXComponent.java:1691)
at com.taobao.weex.ui.component.WXComponent.createView(WXComponent.java:1685)
at io.dcloud.feature.uniapp.ui.component.AbsVContainer.createChildViewAt(AbsVContainer.java:280)
at com.taobao.weex.ui.flat.WidgetContainer.createChildViewAt(WidgetContainer.java:82)
at com.taobao.weex.ui.action.GraphicActionAddElement.executeAction(GraphicActionAddElement.java:197)
at com.taobao.weex.ui.action.BasicGraphicAction.run(BasicGraphicAction.java:71)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:211)
at android.os.Looper.loop(Looper.java:300)
at android.app.ActivityThread.main(ActivityThread.java:8395)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)
以下为插件build.gradle配置
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
defaultConfig {
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.6.0'
/*uniapp所需库*/
compileOnly fileTree(dir: 'libs', include: ['*.jar'])
compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar', 'lib.5plus.base-release.aar'])
compileOnly 'androidx.recyclerview:recyclerview:1.0.0'
compileOnly 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.alibaba:fastjson:1.2.83'
implementation 'com.facebook.fresco:fresco:1.13.0'
//webRTC
implementation 'org.webrtc:google-webrtc:1.0.32006'
implementation 'com.blankj:utilcodex:1.31.1'
implementation 'com.google.code.gson:gson:2.10.1'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
}
由于每天云打包次数有限,我改一句原生代码都要云打包来运行排错,真是头痛啊
1 个回复
d***@163.com
打完包 gson 能找见吗