yasirkula / UnityImageCropper

A uGUI based image cropping solution for Unity 3D
MIT License
207 stars 33 forks source link

Issue with menifest file with new gradle and build tools #4

Closed nasir41 closed 5 years ago

nasir41 commented 5 years ago

Issue with ImageCrop Manifest file Output: /Users/noman/Desktop/Klinc/build/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml:51: error: unexpected element found in .

Here is complete error

Android resource linking failed Output: /Users/noman/Desktop/Klinc/build/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml:51: error: unexpected element found in .

Command: /Users/noman/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-4818971-osx.jar/2bd91fa07f22d2b7286fb36c2600929e/aapt2-3.2.0-4818971-osx/aapt2 link -I\ /Users/noman/Library/Android/sdk_old/platforms/android-28/android.jar\ --manifest\ /Users/noman/Desktop/Klinc/build/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml\ -o\ /Users/noman/Desktop/Klinc/build/intermediates/processedres/debug/processDebugResources/out/resources-debug.ap\ -R\ @/Users/noman/Desktop/Klinc/build/intermediates/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt\ --auto-add-overlay\ --java\ /Users/noman/Desktop/Klinc/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r\ --custom-package\ com.klinc.android\ -0\ apk\ -0\ .unity3d\ -0\ .ress\ -0\ .resource\ -0\ .obb\ -0\ google-services-desktop.json\ --output-text-symbols\ /Users/noman/Desktop/Klinc/build/intermediates/symbols/debug/R.txt\ --no-version-vectors Daemon: AAPT2 aapt2-3.2.0-4818971-osx Daemon #0

nasir41 commented 5 years ago

I'm sure this issue is caused by this plugin because I've tried to remove image crop plugin and build again.

I think it is due to some changes in latest gradle Here is my build.gradle file. `// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN

buildscript { repositories { google() jcenter() }

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.0'

} }

allprojects { repositories { google() jcenter() flatDir { dirs 'libs' } } }

apply plugin: 'com.android.application'

dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation(name: 'GoogleAIDL', ext:'aar') implementation(name: 'GooglePlay', ext:'aar') implementation(name: 'UnityAds', ext:'aar') implementation(name: 'android.arch.lifecycle.runtime-1.0.0', ext:'aar') implementation(name: 'com.android.support.animated-vector-drawable-26.1.0', ext:'aar') implementation(name: 'com.android.support.appcompat-v7-26.1.0', ext:'aar') implementation(name: 'com.android.support.cardview-v7-26.1.0', ext:'aar') implementation(name: 'com.android.support.customtabs-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-compat-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-core-ui-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-core-utils-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-fragment-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-media-compat-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-v4-26.1.0', ext:'aar') implementation(name: 'com.android.support.support-vector-drawable-26.1.0', ext:'aar') implementation(name: 'com.google.android.gms.play-services-ads-17.1.2', ext:'aar') implementation(name: 'com.google.android.gms.play-services-ads-base-17.1.2', ext:'aar') implementation(name: 'com.google.android.gms.play-services-ads-identifier-16.0.0', ext:'aar') implementation(name: 'com.google.android.gms.play-services-ads-lite-17.1.2', ext:'aar') implementation(name: 'com.google.android.gms.play-services-base-16.0.1', ext:'aar') implementation(name: 'com.google.android.gms.play-services-basement-16.1.0', ext:'aar') implementation(name: 'com.google.android.gms.play-services-flags-16.0.1', ext:'aar') implementation(name: 'com.google.android.gms.play-services-gass-17.1.2', ext:'aar') implementation(name: 'com.google.android.gms.play-services-measurement-api-16.0.4', ext:'aar') implementation(name: 'com.google.android.gms.play-services-measurement-base-16.0.5', ext:'aar') implementation(name: 'com.google.android.gms.play-services-measurement-sdk-api-16.0.4', ext:'aar') implementation(name: 'com.google.android.gms.play-services-stats-16.0.1', ext:'aar') implementation(name: 'com.google.android.gms.play-services-tasks-16.0.1', ext:'aar') implementation(name: 'com.google.firebase.firebase-analytics-16.0.6', ext:'aar') implementation(name: 'com.google.firebase.firebase-analytics-impl-16.2.4', ext:'aar') implementation(name: 'com.google.firebase.firebase-analytics-unity-5.4.3', ext:'aar') implementation(name: 'com.google.firebase.firebase-app-unity-5.4.3', ext:'aar') implementation(name: 'com.google.firebase.firebase-auth-16.1.0', ext:'aar') implementation(name: 'com.google.firebase.firebase-auth-interop-16.0.1', ext:'aar') implementation(name: 'com.google.firebase.firebase-auth-unity-5.4.3', ext:'aar') implementation(name: 'com.google.firebase.firebase-common-16.0.4', ext:'aar') implementation(name: 'com.google.firebase.firebase-core-16.0.6', ext:'aar') implementation(name: 'com.google.firebase.firebase-database-16.0.5', ext:'aar') implementation(name: 'com.google.firebase.firebase-database-collection-16.0.1', ext:'aar') implementation(name: 'com.google.firebase.firebase-database-unity-5.4.3', ext:'aar') implementation(name: 'com.google.firebase.firebase-iid-17.0.4', ext:'aar') implementation(name: 'com.google.firebase.firebase-iid-interop-16.0.1', ext:'aar') implementation(name: 'com.google.firebase.firebase-measurement-connector-17.0.1', ext:'aar') implementation(name: 'com.google.firebase.firebase-measurement-connector-impl-17.0.4', ext:'aar') implementation(name: 'com.google.firebase.firebase-storage-16.0.5', ext:'aar') implementation(name: 'com.google.firebase.firebase-storage-unity-5.4.3', ext:'aar') implementation(name: 'common', ext:'aar') implementation(name: 'facebook-android-wrapper-7.15.0', ext:'aar') implementation(name: 'facebook-applinks', ext:'aar') implementation(name: 'facebook-common', ext:'aar') implementation(name: 'facebook-core', ext:'aar') implementation(name: 'facebook-login', ext:'aar') implementation(name: 'facebook-marketing', ext:'aar') implementation(name: 'facebook-messenger', ext:'aar') implementation(name: 'facebook-places', ext:'aar') implementation(name: 'facebook-share', ext:'aar') implementation project(':CropLib') implementation project(':Firebase') implementation project(':GoogleMobileAdsPlugin') }

android { compileSdkVersion 28 buildToolsVersion '28.0.3'

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 28
    applicationId 'com.klinc.android'
    ndk {
        abiFilters 'armeabi-v7a', 'x86'
    }
    versionCode 15
    versionName '1.0'
}

lintOptions {
    abortOnError false
}

aaptOptions {
    noCompress = ['.unity3d', '.ress', '.resource', '.obb', 'google-services-desktop.json']
}

signingConfigs {
    release {
        storeFile file('/Users/noman/Documents/Unity Projects/Klinc (2)/Assets/Keystore/user.keystore')
        storePassword 'REMOVED'
        keyAlias 'klinc'
        keyPassword 'REMOVED'
    }
}

buildTypes {
    debug {
        minifyEnabled false
        useProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt', 'proguard-user.txt'
        jniDebuggable true
    }
    release {
        minifyEnabled false
        useProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt', 'proguard-user.txt'
        signingConfig signingConfigs.release
    }
}

packagingOptions {
    doNotStrip '*/armeabi-v7a/*.so'
    doNotStrip '*/x86/*.so'
}

bundle {
    language {
        enableSplit = false
    }
    density {
        enableSplit = false
    }
    abi {
        enableSplit = true
    }
}

} `

yasirkula commented 5 years ago

ImageCropper doesn't have any Android dependencies and doesn't use a custom AndroidManifest. I can't figure out how it breaks your Gradle builds because there are no Android-specific tasks/dependencies/requirements at all.

P.S. I've edited your comment to remove the exposed keyword passwords.

nasir41 commented 5 years ago

Thanks for your response! Issue was definitely due to this plugin manifest file

But I've fixed this actual it was minor issue for those only who are using latest gradle version.. <application> <activity android:name="com.astricstore.imagevideocontactpicker.AndroidPickerActivity" android:configChanges="orientation|keyboardHidden|screenSize"> </activity> </application> I moved activity in Application tag and now this manifest is merging fine.

yasirkula commented 5 years ago

Are you sure that this is my manifest file? This plugin does not have an AndroidManifest.xml at all, I'm almost sure that this activity comes from another plugin, like this: https://assetstore.unity.com/packages/tools/integration/image-and-video-picker-28597

nasir41 commented 5 years ago

maybe not from your plugin sorry I implied this because it was in this folder name Croplib. https://i.ibb.co/djHR648/Screenshot-2019-01-05-at-8-10-41-AM.png

yasirkula commented 5 years ago

It's fine. Only the ImageCropper directory belongs to my plugin.