مشکل نصب SDK

  • 172 نمایش
  • آخرین پست 17 مرداد 1395
  • حل شده است
dr.mohammad این را پست کرد 16 مرداد 1395

سلام خسته نباشید
من یه api سفارش دادم و میخوام اونو روی برنامم سوار کنم
من یه لایبری دارم به نام java-jwt-2.1.0 که وقتی گردل اس دی کای شمارو به پروژم اضافه میکنم به این لایبری گیر میده
این لایبری نیازمه ولی خب برای تست من حذفش کردم و مشکل حل شد اما وقتی برنامم رو ران میکنم از کد زیر که داخل کلاس اپلیکیشنم تعریف کردم طبق گفته هاتون ارور میگیره و برنامه فورس کلوز میده
MBaaS.init(this);
چطور میتونم این دوتا مشکل رو حل کنم ؟
ممنون از تیم فنی

11 دیدگاه‌ها
مرتب‌سازی براساس استاندارد | جدیدترین | آرا
mersam این را پست کرد 16 مرداد 1395

سلام

لطفا لاگ خطاها رو برای هر دو حالت بفرست. اینطوری نمی شه فهمید چه اتفاقی افتاده.

dr.mohammad این را پست کرد 16 مرداد 1395

لاگ کت مشکل اول

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.xml
    File1: D:\workcase\Exaplme\app\libs\java-jwt-2.1.0.jar
    File2: C:\Users\Admin\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.6.0-rc3\34b830df7c970d5aa33c4c8d9a41da0bb3ecb07d\jackson-databind-2.6.0-rc3.jar

 

dr.mohammad این را پست کرد 16 مرداد 1395

لاگ کت دوم

E/AndroidRuntime: FATAL EXCEPTION: main
                                                                      Process: ir.example.example, PID: 30249
                                                                      java.lang.RuntimeException: Unable to create application com.android.tools.fd.runtime.BootstrapApplication: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.lastIndexOf(java.lang.String)' on a null object reference
                                                                          at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6319)
                                                                          at android.app.ActivityThread.access$1800(ActivityThread.java:221)
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1860)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                          at android.os.Looper.loop(Looper.java:158)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:7224)
                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                                                                       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.lastIndexOf(java.lang.String)' on a null object reference
                                                                          at ir.mbaas.sdk.helper.StaticMethods.getAppKey(StaticMethods.java:53)
                                                                          at ir.mbaas.sdk.MBaaS.<init>(MBaaS.java:46)
                                                                          at ir.mbaas.sdk.MBaaS.init(MBaaS.java:88)
                                                                          at ir.mbaas.sdk.MBaaS.init(MBaaS.java:56)
                                                                          at ir.example.example.Application.onCreate(Application.java:38)
                                                                          at com.android.tools.fd.runtime.BootstrapApplication.onCreate(BootstrapApplication.java:369)
                                                                          at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1036)
                                                                          at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6316)
                                                                          at android.app.ActivityThread.access$1800(ActivityThread.java:221)
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1860)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                          at android.os.Looper.loop(Looper.java:158)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:7224)
                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

mersam این را پست کرد 17 مرداد 1395 - آخرین ویرایش 17 مرداد 1395

لاگ کت مشکل اول

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.xml
    File1: D:\workcase\Exaplme\app\libs\java-jwt-2.1.0.jar
    File2: C:\Users\Admin\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.6.0-rc3\34b830df7c970d5aa33c4c8d9a41da0bb3ecb07d\jackson-databind-2.6.0-rc3.jar


فکر می کنم این خطا به این دلیل رخ داده که هم java-jwt و هم SDK MBaaS هر دو از کتابخانه jackson-databind استفاده می کنند.

پیشنهاد می کنم این لینک رو یک بررسی بکنید http://stackoverflow.com/questions/37428636/com-android-builder-packaging-duplicatefileexception-duplicate-files-copied-in

mersam این را پست کرد 17 مرداد 1395

پاسخ مشکل دوم

فکر می کنم تگ زیر در فایل AndroidManifest.xml برنامه شما وجود ندارد:

<meta-data
            android:name="ir.mbaas.sdk.token"
            android:value="......." />

باید در پنل mbaas یک برنامه ایجاد کنید و فایل AndroidManifest.xml اون رو دانلود کنید و قسمت هایی که در فایل مانیفست شما وجود ندارد را کپی کنید.

dr.mohammad این را پست کرد 17 مرداد 1395

سلام مجدد
مشکل دوم حل شد
اما مشکل اول توی صفحه ای که ادرسشو دادین کارایی که پیشنهاد داده بودن رو انجام دادم و فرقی نکرد
نمیتونین شما اس دی کای خودتونو بجای اینکه jackson-databind رو از گردل بگیره لایبریشو دستی داخل اس دی کای بذارین و پروژشو بهم بدین که من داخل پروژم ایمپورت کنم ؟
چون احتمال میدم اگر از گردل فراخوانی نشن این دوتا لایبری دیگه مشکلی پیش نیاد

moradi این را پست کرد 17 مرداد 1395

سلام دوست عزیز

این راه حلی که پیشنهاد دادید روش خوبی نیست. قطعا کتابخانه های زیادی وجود دارند که از jackson به عنوان json parser استفاده می کنند و شما ممکنه ازشون استفاده کنید، بنابراین باید یک راه حل منطقی برای حل این مشکل وجود داشته باشد.

لطفا یک بررسی بفرمائید اگر نتونستید مشکل رو حل کنید، دوستان سعی می کنند شرایطی مشابه شما رو ایجاد کنند و راه حل رو در اختیارتون بگذارند.

dr.mohammad این را پست کرد 17 مرداد 1395

والا من دیشب تا ادان خیلی وقت گذاشتم و درست نشد و اینکه من توی پروژه های قبلیمم که به این مشکلات برمبخوردم با همین روش خودم حل میکردمشون

mersam این را پست کرد 17 مرداد 1395 - آخرین ویرایش 17 مرداد 1395

شما از فایل jar کتابخانه java-jwt-2.1.0 استفاده کردید (بدون گریدل) درسته؟ من با استفاده از گریدل مشابه زیر تست کردم مشکلی نداشت

...
compile 'ir.mbaas:sdk:1.3.0'
compile 'com.auth0:java-jwt:2.2.0'

 

dr.mohammad این را پست کرد 17 مرداد 1395

قبلا امتحان کرده بودم و فرقی نکرده بود

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.xml
    File1: C:\Users\Admin\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.6.0-rc3\34b830df7c970d5aa33c4c8d9a41da0bb3ecb07d\jackson-databind-2.6.0-rc3.jar
    File2: C:\Users\Admin\.gradle\caches\modules-2\files-2.1\com.auth0\java-jwt\2.2.0\81a134e0c779028c647e84c10383aa0fd80ab410\java-jwt-2.2.0.jar

dr.mohammad این را پست کرد 17 مرداد 1395

یه مقدار دقت کردم به لاگ کت استدیو
دیدم گام به گام داره روش میده تا مشکل رو رفع کنم
پا به پاش رفتم جلو و مشکل حل شد
پیشنهاد میکنم داخل آموزش نصب sdk خودتون این قطعه کد رو بنویسید و بگید که اگر همچین مشکلی داشتن این رو به گردلشون اضافه کنن

packagingOptions {
    exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.xml'
    exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-databind/pom.properties'
    exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.xml'
    exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-core/pom.properties'
    exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-annotations/pom.xml'
    exclude 'META-INF/maven/com.fasterxml.jackson.core/jackson-annotations/pom.properties'
}

در کل ممنون بابت پاسخگویی هر دو بزرگوار

  • لایک شده توسط
  • moradi