簡體   English   中英

提交Android構建后Flurry CN1Lib錯誤

[英]Flurry CN1Lib error after submitting Android build

我收到錯誤“由:org.gradle.process.internal.ExecException: Process 'command '/home/ec2-user/jdk1.8.0_45/bin/java''提交時以非零退出值 2 '完成一個 Android 構建請求。

我懷疑它與Flurry CN1Lib 有關

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':transformClassesWithDexForRelease'.

Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --verbose --force-jumbo --num-threads=4 --output 

需要更新flurry cn1lib 以使用較新的Android API 級別28 作為我們當前的默認位置。 從長遠來看,這是正確的做法。

作為短期補丁,您可以在構建提示中定義: android.playServicesVersion=8.3.0以解決此問題。 請注意,這可能會影響您的應用程序的功能,例如位置服務支持等。

好吧,我終於設法解決了這個問題。 我只對讓分析起作用感興趣,但我相信廣告也應該起作用。 這是我如何做到的:

  1. 從 GitHub 上克隆/下載當前的 CN1Flurry 項目https://github.com/chen-fishbein/flurry-codenameone 這使我能夠訪問源文件並將它們用作參考。
  2. 將項目按原樣導入我的 Netbeans 帶來了一些“解決項目”問題,所以我繼續創建一個與 CN1Flurry 具有相似名稱和包/類結構的新項目,然后將舊項目中的類復制到新項目中。
  3. 打開FlurryNative類並刪除onPageView()setLogEvents()setCrashReportingEnabled()因為當前 Flurry Android SDK 不支持這些。 完成后,右鍵單擊FlurryNative類並選擇“生FlurryNative機訪問”。 這將允許您在項目的“本機”文件夾中為 Android、iOS、Windows 等創建本機實現。

  4. Chen 的項目使用 Flurry SDK 的 5.3.0 版,但推薦的 SDK 版本是 12.1.0 版。 從您的 Flurry 門戶的“管理”部分下下載最新的 aar 文件,並將它們復制到“android”文件夾中。 對我來說,這些是flurryAds_12.1.0.aarflurryAnalytics_12.1.0.aar

  5. 切換到 Netbeans 項目的Files視圖並打開FlurryNativeImpl類。 您可以從 Chen 的項目中復制大部分實現,唯一需要更改的是initFlurry()方法為 - new FlurryAgent.Builder().build(AndroidNativeUtil.getActivity(), apiKey); Flurry 在新 SDK 中的初始化方式不同 - https://developer.yahoo.com/flurry/docs/integrateflurry/android/

  6. 就是這樣。 切換回“項目”視圖,然后清理並構建您的 CN1Flurry 項目以生成 .cn1lib 文件,然后您可以將其添加到“libs”文件夾中的 UI 項目中。 記得刷新 cn1Libs 文件。

最后,將以下構建提示添加到您的 UI 項目中:

android.min_sdk_version=16
android.multidex=true
android.xapplication=\<activity android:name="com.flurry.android.FlurryFullscreenTakeoverActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"> \</activity>

Chen 建議添加很多其他構建提示,但我沒有發現它們對我的案例有用。

仍在學習 GitHub 工作原理; 一旦我感到舒服,就會提出拉取請求。 同時,您可以在此處獲取整個項目 - https://drive.google.com/open?id=1GGygaVelmMhMUX9Deik9W72hXkw_detG

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM