Edit - Reduced to the root of the problem
I'm getting this error when Multi-Dex is enabled.
CREATEMULTIDEXMAINDEXCLASSLIST : error : Expecting class path separator ':' before '.jar' in argument number 2
I have tracked it down to this jar file being included in the ProGuard command line:
obj/Debug/__library_projects__/DeviceAPI_Android/library_project_imports/DeviceAPI_Android.Jars.cw-deviceapi(2016.05.16).jar
It's the brackets in the file name which are causing the error. I've proved this by running the command in a terminal prompt with this jar file removed, and all works fine.
So the question - where is this file coming from? Is it in Packages? I can't see it there.
If I can find that I should be able to correct the name and build the project.
I've tracked it down to a 3rd party binding library called DeviceAPI_Android.dll, which wraps a jar file for controlling the hardware barcode scanner. The jar file does indeed have the brackets and date in its filename.
So the solution is one or more of:
Get a new version of the binding library from the supplier with a better named jar file.
Rebuild the library myself with a better named jar file. Potentially problematic because I'll have to create the transforms etc. from scratch.
Adjust the build tooling/makefile to make the ProGuard command line more resilient to strangely named jar files.
A sample project demonstrating the problem is on GitHub here.
Version Information:
=== Visual Studio Community 2017 for Mac ===
Version 7.1 (build 1297)
Installation UUID: 650b4c91-c7f5-4ee5-ad70-6f178f314906
Runtime:
Mono 5.2.0.215 (d15-3/da80840) (64-bit)
GTK+ 2.24.23 (Raleigh theme)
Package version: 502000215
=== NuGet ===
Version: 4.3.0.2418
=== .NET Core ===
Runtime: Not installed
SDK: Not installed
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Sdks
=== Xamarin.Profiler ===
Version: 1.5.5
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Xamarin.Android ===
Version: 7.4.0.21 (Visual Studio Community)
Android SDK: /Users/jameslavery/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
2.3 (API level 10)
4.0.3 (API level 15)
4.1 (API level 16)
4.3 (API level 18)
4.4 (API level 19)
5.0 (API level 21)
5.1 (API level 22)
6.0 (API level 23)
7.0 (API level 24)
7.1 (API level 25)
SDK Tools Version: 25.2.5
SDK Platform Tools Version: 25.0.5
SDK Build Tools Version: 25.0.3
Java SDK: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Apple Developer Tools ===
Xcode 8.0 (11246)
Build 8A218a
=== Xamarin.iOS ===
Version: 10.12.0.20 (Visual Studio Community)
Hash: 80b8487d
Branch: d15-3
Build date: 2017-08-18 16:07:26-0400
=== Xamarin.Mac ===
Version: 3.6.0.19 (Visual Studio Community)
=== Xamarin Inspector ===
Version: 1.2.2
Hash: b71b035
Branch: d15-1
Build date: Fri, 21 Apr 2017 17:57:12 GMT
=== Build Information ===
Release ID: 701001297
Git revision: 9c5299666538b2f8baf501418a5c064d784d64da
Build date: 2017-08-07 11:29:35-04
Xamarin addins: 3bb0c32a14f1b7e368bf5ac53a84c3581c019391
Build lane: monodevelop-lion-d15-3
=== Operating System ===
Mac OS X 10.11.6
Darwin 15.6.0 Darwin Kernel Version 15.6.0
Thu Jun 23 18:25:34 PDT 2016
root:xnu-3248.60.10~1/RELEASE_X86_64 x86_64
=== Enabled user installed addins ===
LiveXAML 1.0
Redth's Addins 1.0.9
I have reported the following bug for this issue:
https://bugzilla.xamarin.com/show_bug.cgi?id=59237
Please feel free to CC yourself to this issue to be notified when it gets fixed. For the time being, you will have to workaround this by renaming the .jar in some fashion.
I hope this helps!
This is because there is a binding library with an embedded Jar file with brackets in its filename - which cause the command line for ProGuard to fail.
#jondouglas has submitted Xamarin bug 59237 for this. Hopefully the fix will be to make the command line for ProGuard more resilient to strangely named files.
In the meantime, I will have to get hold of an updated binding library with the embedded jar file not having a name with parentheses (or other character which breaks a command line) in it.
Thanks to #jondouglas for his help in diagnosing the problem.
Related
Hi I am trying to add Xamarin.Firebase.Analytics to my Xamarin Forms app. getting the error below.
My Xamarin.Android AndroidManifest.Xaml is already set to android:targetSdkVersion="33". What else needs to be corrected for this to work?
Xamarin Forms version is: 5.0.0.2545
Package Xamarin.Firebase.Analytics.Impl 116.3.0.7 is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Package Xamarin.Firebase.Analytics.Impl 116.3.0.7 supports:
- monoandroid12.0 (MonoAndroid,Version=v12.0)
This is the visual studio info
Visual Studio Community 2022 for Mac
Version 17.4.3 (build 21)
Runtime
.NET 6.0.12 (64-bit)
Architecture: Arm64
Roslyn (Language Service)
4.4.0-6.22578.12+3c6ab8e1715e5b080fb7bb77070810ab71e09387
NuGet
Version: 6.3.1.1
.NET SDK (Arm64)
SDK: /usr/local/share/dotnet/sdk/7.0.102/Sdks
SDK Versions:
7.0.102
7.0.101
6.0.405
6.0.404
6.0.402
6.0.302
6.0.301
MSBuild SDKs: /Applications/Visual Studio.app/Contents/MonoBundle/MSBuild/Current/bin/Sdks
.NET SDK (x64)
SDK Versions:
6.0.405
6.0.404
6.0.402
6.0.302
6.0.106
6.0.104
5.0.408
5.0.407
3.1.426
3.1.424
3.1.421
3.1.420
3.1.418
.NET Runtime (Arm64)
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
7.0.2
7.0.1
6.0.13
6.0.12
6.0.10
6.0.7
6.0.6
.NET Runtime (x64)
Runtime: /usr/local/share/dotnet/x64/dotnet
Runtime Versions:
6.0.13
6.0.12
6.0.10
6.0.7
6.0.6
6.0.4
5.0.17
5.0.16
3.1.32
3.1.30
3.1.27
3.1.26
3.1.24
Xamarin Designer
Version: 17.4.0.136
Hash: d49c9ff6d3
Branch: remotes/origin/d17-4
Build date: 2023-01-12 17:32:30 UTC
Xamarin.Profiler
Version: 1.8.0.19
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
Updater
Version: 11
Apple Developer Tools
Xcode 14.2 (21534)
Build 14C18
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
Xamarin.iOS
Version: 16.1.1.27 (Visual Studio Community)
Hash: 933c6c2c9
Branch: xcode14.1
Build date: 2022-11-22 02:00:37-0500
Xamarin.Android
Version: 13.1.0.1 (Visual Studio Community)
Commit: xamarin-android/d17-4/13ba222
Android SDK: /Users/user/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
8.0 (API level 26)
6.0 (API level 23)
12.0 (API level 31)
8.1 (API level 27)
11.0 (API level 30)
10.0 (API level 29)
7.1 (API level 25)
9.0 (API level 28)
13.0 (API level 33)
I have created a project and reproduced your problem. The Xamarin.Firebase.Analytics package only support the android. And the Xamarin.Forms is cross-platform.
So you should only add this package in the project's Android Part, not the pcl. I reproduce the error message when I tried to add it in the pcl. But the project built successfully when I only added it in the android part.
Just right click your project.Android part -> select manage nuget packages -> insatll this package.
Figured it out, need to edit the Android.csproj file.
Replace
<TargetFrameworkVersion>v11.0</TargetFrameworkVersion>
with
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
I'm using jenkins for CI and after updating my build tools version to 25 I got this error:
"processReleaseResources/opt/android-sdk-linux/build-tools/25.0.0/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/android-sdk-linux/build-tools/25.0.0/aapt)"
I need to use buildtools 25 and my server centos version is 6.8.
How can I update glibc ?
Apparently, the program you are trying to use was not compiled for Red Hat Enterprise Linux 6 (which only provides glibc 2.12, and not version 2.14 or later, which seems to be needed here). You either have to recompile it on that version of the operating system, or upgrade to a later version of Red Hat Enterprise Linux.
I am using ionic framework and cordova for my project. Everything was working fine. Suddenly when i did ionic state reset, gulp build and ionic build android i have started getting error from phonegap-push-plugin. It shows following error:
/Users/gauravku/Desktop/FeatureColab/platforms/android/src/com/adobe/phonegap/push/PushHandlerActivity.java:46: error: cannot find symbol
if(inline && android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.N){
^
symbol: variable N
location: class VERSION_CODES
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
I have tried all possible ways > updating my android SDKs , checking the android sdk path is correct from CLI.
Still i am facing the issue, any help will be useful.
I got the same problem using phonegap push notification plugin with ImagePicker of Telerik.
I solved temporary this issue replacing android.os.Build.VERSION_CODES.N by it's integer value : 24
if(inline && android.os.Build.VERSION.SDK_INT < 24 && !startOnBackground){
foreground = true;
}
My configuration is :
Cordova 6.5.0
Android platform 6.1.2
All requirements android tools installed
For people using visual studio cordova tools, don't forget to remove your platform folder before rebuilding.
I guess you are using latest phonegap-plugin-push version (1.9.0 or greater).
To successfully build this plugin you have to have following requirements.
Android
Cordova CLI 6.4.0
Android Support Library version 23 or greater
Local Maven repository for Support Libraries (formerly Android
Support Repository) version 20 or greater
Google Play Services version 27 or greater
Google Repository version 22 or greater
JDK 8 or heigher
iOS
Xcode version 8.0 or greater is required for building this plugin
Required cordova-cli version: 6.4.0
Required cordova-ios version: 4.3.0
Extra details could be found their plugin installation guide
Also try to remove your existing platform folder and plugin folder and add them again.
phonegap-plugin-push version 1.9.4 was built successfully in my machine. Also followings have installed using Android SDK Manager.
Tools
Android SDK Tools - Rev. 25.2.5
Android SDK Platform-tools - Rev. 25.0.3
Android SDK Build-tools Rev. 25, 24
Platform
SDK Platform API 25, 24, 23, 22, 21, 19
Extras
Android Support Repository - Rev. 44
Google Repository - Rev. 44
System information
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
OS: Windows 10
Node Version: v6.9.4
I updated my Xamarin Studio to the latest version today, and now I get errors compiling my apps.
I get the following error:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Error executing task LinkAssemblies: Failed to resolve Android.Runtime.JavaArray1<!0> Android.Runtime.JavaArray1::FromJniHandle(System.IntPtr,Android.Runtime.JniHandleOwnership) (ProjectABC)
Any ideas ?
=== Xamarin Studio ===
Version 4.0.8 (build 2)
Installation UUID: 11c63c7f-e0be-4066-b8f0-39f8a0635818
Runtime:
Mono 2.10.12 (mono-2-10/c9b270d)
GTK 2.24.16
GTK# (2.12.0.0)
Package version: 210120000
=== Apple Developer Tools ===
Xcode 4.6.2 (2067.2)
Build 4H1003
=== Xamarin.iOS ===
Version: 6.2.7.1 (Enterprise Edition)
Hash: 947e664
Branch:
Build date: 2013-30-05 18:02:40-0400
=== Xamarin.Mac ===
Xamarin.Mac: Not Installed
=== Xamarin.Android ===
Version: 4.6.8 (Enterprise Edition)
Android SDK: /Users/stephen/Library/Developer/Xamarin/android-sdk-mac_x86
Supported Android versions:
2.1 (API level 7)
2.2 (API level 8)
2.3 (API level 10)
3.1 (API level 12)
4.0 (API level 14)
Java SDK: /usr
=== Build Information ===
Release ID: 400080002
Git revision: 0a09117dec1aed78c735ac46f7a50ae7d12f7a7a
Build date: 2013-05-16 19:36:29+0000
Xamarin addins: 78d0437c3f92ae13042f81e5fd9487e2c28d5fbc
=== Operating System ===
Mac OS X 10.8.3
Darwin localhost 12.3.0 Darwin Kernel Version 12.3.0
Sun Jan 6 22:37:10 PST 2013
root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
This propably was because of the new version of Xamarin Studio not supporting your current installed Java version, please consider deleting this question as i don't think is helpful anymore after 2 years.
I have the following versions of Andorid and Java SDKs in the following environment.
I am trying to develop a SIP application but while Android.net.http and Android.net.wifi are both present, the needed Android.net.sip doesn't appear.
I'm assuming that this has something to do with the android SDK (version or perhaps mismatch to Java SDK version) but I haven't been able to find any information on this type of issue or much in general on SIP application support in Mono.
I'd appreciate if it someone can steer me in a direction in terms of finding the problem of the missing .sip assembly.
MonoDevelop 3.0.3.2
Installation UUID: 6e3978d7-9762-4c5a-80ee-c19e6a271794
Runtime:
Microsoft .NET 4.0.30319.269
GTK 2.16.6
GTK# (2.12.0.0)
Mono for Android: 4.2.3.68199851
Android SDK: C:\Android\android_sdk\android-sdk
Supported Android versions:
Version: 1.6 ApiLevel: 4
Version: 2.1 ApiLevel: 7
Version: 2.2 ApiLevel: 8
Version: 2.3 ApiLevel: 10
Version: 3.1 ApiLevel: 12
Version: 4.0 ApiLevel: 14
Version: 4.0.3 ApiLevel: 15
Java SDK: C:\Program Files (x86)\Java\jdk1.6.0_27\bin
No build info
Operating System:
Windows 6.1.7601.65536 (64-bit)
Answered my question by looking at my comment. I had the compatibility level set to 2.2 which was obviously before API level 9. Set the compatibility level up to 2.2.5 (API Level 9) and everything showed up.