Failed to build project that pull appcompact dependencies, but not say why

android
copper

(marc hoffman) #6

Fails for me with

D: Checking <MavenRepository https://maven.google.com/>
Package metadata could not be loaded from ‘https://maven.google.com/com/android/support/support-annotations/maven-metadata.xml’.
E: The request timed out

which is indeed what happens — there request does hang for 30s and then times out.


(mamcx) #7

I see that too several times (I don’t mention it because I assume was my internet problem), but when it work happen what I report here.


(mamcx) #8

This also happen if I build a JAR (with android studio and a empty class) with the dependencies and reference it from Fire:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

task clearJar(type: Delete) {
    delete 'build/outputs/droidui.jar'
}

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

makeJar.dependsOn(clearJar, build)

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.android.support:appcompat-v7:27.1.1'
    compile 'co.trikita:anvil-sdk21:0.5.1'
}
<Reference Include="droidui-release.aar">
  <HintPath>..\BestDroid\droidui\build\outputs\aar\droidui-release.aar</HintPath>
  <Private>True</Private>
</Reference>

(marc hoffman) #9

?? okay… so it also fails in ADS, or what are you saying?


(mamcx) #10

No, I’m saying that I build a JAR on ADS and then refer to the local JAR.


(marc hoffman) #11

ok. can you send me a tets case with your Elements project and the local jar?


(mamcx) #12

Ok, I send both projects (fire and ADS).

Archive.zip (7.7 MB)


(mamcx) #13

Any update on this? Without the ability to import external jars I must rule out fire for now, but I wish not.


(RemObjects) #14

Thanks, logged as bugs://80173


(marc hoffman) #15

My apologies, I lost track of this one. This looks like a compiler issue, I’ve logged a bug and will ask the team to have a look ASAP (possibly for Friday’s build, if not, I’ll try to shoot you one sometime early next week).


(RemObjects) #16

bugs://80173 got closed with status fixed.


(mamcx) #17

Ok, now I get a error:

E: dex: java.lang.IllegalArgumentException: already added: Landroid/arch/lifecycle/LifecycleRegistry;
E: dex: java.lang.IllegalArgumentException: already added: Landroid/arch/lifecycle/LifecycleRegistry$1;
E: dex: java.lang.IllegalArgumentException: already added: Landroid/arch/lifecycle/LifecycleRegistry$ObserverWithState;
E: dex: java.lang.IllegalArgumentException: already added: Landroid/arch/lifecycle/LifecycleRegistryOwner;
E: dex: java.lang.IllegalArgumentException: already added: Landroid/arch/lifecycle/ReportFragment;
E: dex: java.lang.IllegalArgumentException: already added: Landroid/arch/lifecycle/ReportFragment$ActivityInitializationListener;
E: dex: java.lang.IllegalArgumentException: already added: Lcom/facebook/soloader/ApkSoSource;
E: dex: java.lang.IllegalArgumentException: already added: Lcom/facebook/soloader/DirectorySoSource;
E: dex: java.lang.IllegalArgumentException: already added: Lcom/facebook/soloader/Elf32_Dyn;
E: dex: 

This happened with both react native and prowebview


(marc hoffman) #18

That’s with .2285 or .2287? if the latter, can I get a new testcase, coz your previous one builds fine for me in 2287, which does have some fixes for DEX.


(mamcx) #19

Is with .2287.

Version 10.0.0.2287 (develop) built on talax, 20180518-125135. Commit d8f49b9.

I don’t anything else as with the test here. ie I setup the same project.

Maybe SDK versions?

   Android SDK found in '/Users/mamcx/Library/android-sdk'.
   Android Build Tools found in '/Users/mamcx/Library/android-sdk/build-tools/27.0.3'.
   Android ApkBuilder found in '/Users/mamcx/Library/android-sdk/tools/lib/sdklib-26.0.0-dev.jar:/Users/mamcx/Library/android-sdk/tools/lib/sdk-common-26.0.0-dev.jar:/Users/mamcx/Library/android-sdk/tools/lib/common-26.0.0-dev.jar'.
   No exact platform version was specified for target 'Cooper-Android', using android-27.

(marc hoffman) #20

Oh: iirc what I had to do with your project set a Minimum Android SDK version of 26. But I was getting an explicit error message from DEX that stated that one of the libraries used a feature that required it…


(marc hoffman) #21

Extracted your project fresh, I get this:

               -> Task RemObjects.EBuild.Elements.ElementsPreflightAndroid started for FireApp.
                  Android SDK found in '/Users/mh/Library/Android/sdk'.
                  Android Build Tools found in '/Users/mh/Library/Android/sdk/build-tools/28.0.0-rc1'.
                  Android ApkBuilder found in '/Users/mh/Library/Android/sdk/tools/lib/sdklib-26.0.0-dev.jar:/Users/mh/Library/Android/sdk/tools/lib/sdk-common-26.0.0-dev.jar:/Users/mh/Library/Android/sdk/tools/lib/common-26.0.0-dev.jar'.

...

                  dex> processing org/me/fireapp/R$string.class...
E:                dex: com.android.dx.cf.code.SimException: ERROR in com.elmalabarista.mamcx.droidui.UIBuilder.view:()V: invalid opcode ba - invokedynamic requires --min-sdk-version >= 26 (currently 5)
                  dex> 1 error; aborting


(mamcx) #22

I se min-sdk to 26 and sdk to 27 and still get the error if I set the repo from fire:

<GradleRepository Include="https://jitpack.io" />
<GradleRepository Include="https://maven.google.com/" />
<GradleReference Include="com.github.vic797:prowebview:2.2" />

But it compile when using android studio to build the JAR and reference it locally. I will report back if this work fine.


(marc hoffman) #23

Well, your test case project didn’t have these. I can only test against the info I have. You project, as you posted it gives me the above error, and compiles fine if I change the Minimum version up to 26, as the message tells me.

If you can send me different test case, I can have a look at that.


(mamcx) #24

Yeah, I know that. I just point that is a fix that look like is not general.

And for the test case is the same project, with different gradle references (as show).


(marc hoffman) #25

I need the exact project; I cannot look into issues like this if I have to guess what changes I might need to make to a project I have for the error to show up. The last case, as I have it, builds. If a changed version exhibits a different bug/error, then I need that version as new testcase.

—marc