小编est*_*ban的帖子

具有依赖关系的Android Studio导出jar

我在Eclipse中有一个带有Maven的项目库,生成的jar里面包含了一些库依赖项.现在我正在迁移到Android Studio,我想构建相同的jar.我可以在gradle中生成一个带有以下行的jar:

task clearJar(type: Delete) {
  delete 'build/libs/mysdk.jar'
}

task makeJar(type: Copy) {
  from('build/intermediates/bundles/release/')
  into('release/')
  include('classes.jar')
  rename ('classes.jar', 'mysdk.jar')
}

makeJar.dependsOn(clearJar, build)
Run Code Online (Sandbox Code Playgroud)

但是在jar中没有包含我在项目库中使用的库.使用Maven,我可以使用"提供"范围,以便在我的jar中包含或不包含库但是使用gradle ...我该怎么做?

谢谢

jar gradle android-studio build.gradle

9
推荐指数
1
解决办法
6971
查看次数

Android BarcodeScanner库在64位设备中崩溃

我们有一个应用程序使用BarcodeScanner的Zbar库和gradle:

compile 'me.dm7.barcodescanner:zbar:1.8.2'
Run Code Online (Sandbox Code Playgroud)

扫描在除64bit之外的所有设备中都能正常工作.当我们启动扫描仪时,屏幕变黑,我们收到一个例外:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/my.package.name-2/base.apk"],nativeLibraryDirectories=[/data/app/my.package.name-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libiconv.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:989)
at me.dm7.barcodescanner.zbar.ZBarScannerView.(ZBarScannerView.java:31)
at my.package.name.activity.BarcodeActivity.onCreate(BarcodeActivity.java:19)
at android.app.Activity.performCreate(Activity.java:6374)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2767)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2879)
at android.app.ActivityThread.access$900(ActivityThread.java:182)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1475)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6141)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Run Code Online (Sandbox Code Playgroud)

64-bit android barcode-scanner zbar

6
推荐指数
1
解决办法
482
查看次数

无法使用 androidx 库与 Jenkins 构建 apk

由于我将我的应用程序迁移到 androidx,因此当我启动任务组合时,Jenkins 出现错误。这是错误:

Program type already present: 
android.support.v4.app.INotificationSideChannel$Stub$Proxy
Run Code Online (Sandbox Code Playgroud)

但是我在 Android Studio 上没有这个错误,我可以毫无问题地构建 apk。

因此,我尝试从 google play 服务中排除 support-v4 模块:

implementation( "com.google.android.gms:play-services-maps:16.0.0"){
    exclude module: 'support-v4'
}
implementation ("com.google.android.gms:play-services-location:16.0.0"){
    exclude module: 'support-v4'
}
implementation ("com.google.android.gms:play-services-places:16.0.0"){
    exclude module: 'support-v4'
}
Run Code Online (Sandbox Code Playgroud)

然后生成apk,但在启动应用程序时出现此错误:

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArraySet;
   at com.google.android.gms.common.api.internal.c.<init>(Unknown Source:45)
   at com.google.android.gms.common.api.internal.c.a(Unknown Source:33)
   at com.google.android.gms.common.api.e.<init>(Unknown Source:51)
   at com.google.android.gms.common.api.e.<init>(Unknown Source:13)
   at com.google.android.gms.location.b.<init>(Unknown Source:8)
   at com.google.android.gms.location.f.a(Unknown Source:2)
Run Code Online (Sandbox Code Playgroud)

但是再一次,在 Android Studio 上一切正常,自从迁移到 Androidx 以来,问题只出现在 Jenkins 上。

谢谢你的帮助

android jenkins android-support-library androidx

0
推荐指数
1
解决办法
452
查看次数