cordova和crashlytics beta构建脚本

时间:2015-01-26 21:51:34

标签: android cordova crashlytics

我正在尝试编写一个脚本文件来构建我的apk并将其上传到Crashlytics beta但没有成功。

echo "\n > cordova build android\n"
cordova build android --release

echo "\n > signing apk\n"
jarsigner \
  -storepass $STOREPASS \
  -sigalg SHA1withRSA \
  -digestalg SHA1 \
  -keystore $KEYSTORE \
  $APK_PATH \
  $NAME

mkdir -p releases
zipalign -f -v 4 \
  $APK_PATH \
  $TARGET_PATH

脚本运行完美,但是当我运行

java -jar scripts/crashlytics-devtools.jar \
  -projectPath $PROJECT_PATH \
  -androidManifest $PROJECT_PATH/AndroidManifest.xml \
  -androidRes $PROJECT_PATH/res \
  -androidAssets $PROJECT_PATH/assets \
  -apiKey $FABRIC_API_KEY \
  -apiSecret $FABRIC_BUILD_SECRET \
  -uploadDist $APK \
  -verbose

它给了我一个Exception in thread "main" com.crashlytics.tools.android.DeveloperTools$PluginException: Crashlytics halted compilation because it can't extract Crashlytics build info from the APK

任何帮助?

2 个答案:

答案 0 :(得分:1)

我的工作是......

  1. 将布料安装到$secondScreen .= <<<MARKUP
  2. 安装Fabric插件

    https://github.com/engincancan/cordova-fabric-io-plugin

  3. 要将Fabric安装到platforms/android/build.gradle我执行以下操作......

    1. 安装Android Studio。
    2. 安装适用于Android Studio的Fabric插件。
    3. 在Android Studio中的build.gradle中打开项目。
    4. 单击工具栏中的Fabric按钮,登录并完成安装向导。
    5. 该向导会告诉您它向项目添加的内容,因此,如果您真的有动力,可以编写自己的脚本来执行相同的操作。这意味着您可以在不检入platforms/android的情况下从命令行构建。

      之后您提供的脚本运行正常。

答案 1 :(得分:0)

在构建过程中,您应该安装cordova插件。

尝试做其中一种(离子使用cordova,这里为档案):

# via command line install
cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=${FABRIC_API_KEY} --variable FABRIC_API_SECRET=${FABRIC_BUILD_SECRET}

# install from source
cordova plugin add https://github.com/sarriaroman/FabricPlugin#x.x.x  --variable FABRIC_API_KEY=${FABRIC_API_KEY} --variable FABRIC_API_SECRET=${FABRIC_BUILD_SECRET}

# using ionic
ionic plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=${FABRIC_API_KEY} --variable FABRIC_API_SECRET=${FABRIC_BUILD_SECRET}

您的脚本将如下所示:

# now execute the commands in your script
cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=${FABRIC_API_KEY} --variable FABRIC_API_SECRET=${FABRIC_BUILD_SECRET}

java -jar scripts/crashlytics-devtools.jar \
  -projectPath $PROJECT_PATH \
  -androidManifest $PROJECT_PATH/AndroidManifest.xml \
  -androidRes $PROJECT_PATH/res \
  -androidAssets $PROJECT_PATH/assets \
  -apiKey $FABRIC_API_KEY \
  -apiSecret $FABRIC_BUILD_SECRET \
  -uploadDist $APK \
  -verbose