2015-08-15 48 views
1

我與Android平臺上有一座愛奧尼亞(1.6.4)項目的ant.properties具有下列文件:離子自動Android應用程序簽名爆發升級

key.store=mykeystore 
key.alias=myalias 
key.store.password=mypass1 
key.alias.password=mypass2 

以前,我可以運行ionic build --release,它會生成未簽名的apk,然後簽名並生成另一個apk。

最近,我需要添加org.apache.cordova.splashscreen插件,抱怨我的舊版本的Cordova,所以我從1.5.0升級到5.2.0。這反過來又要求我更新我的Android SDK以獲得Android 22.Cordova構建過程似乎運行良好。

[...all the previous steps...] 
:packageRelease UP-TO-DATE 
:assembleRelease 
:cdvBuildRelease 

BUILD SUCCESSFUL 

然而,現在離子僅產生一個無符號的版本APK。

有什麼可以導致問題的建議?有沒有我可以檢查的日誌文件可能會給我一個線索?我知道,甚至在它工作之前,如果密鑰庫完全丟失,它就不會簽名並假裝一切正常(沒有錯誤),所以我想也許在這裏發生類似的事情,它只是壓制一個錯誤。

版本詳情:

cordova -v // 5.2.0 
ionic -v // 1.6.4 
node -v // v0.12.7 
npm -v // 2.13.5 
ionic.js // 1.0.1 

事情我已經嘗試過:

  • ant.properties和密鑰庫都仍然存在
  • cordova platform upgrade android在ant.properties成功
  • 跑,使用絕對路徑,相對路徑指向密鑰庫,並將其直接放在pl中atforms /機器人沒有路徑
  • ioniccordova命令
  • build --release androidbuild --release
+0

發佈後立即開始我再次挖掘任何日誌,並發現顯然構建過程已從使用ant切換到使用gradle。我需要爲Gradle編寫一些新的配置文件嗎? – ben

回答

0

它出現在那些軟件升級之間的某一點,一些一塊拼圖使用螞蟻切換到搖籃爲構建處理。

根據this other question的回答,我能夠找到該做什麼。

首先,創建一個gradle.properties文件,並用適當的數據填充它在:

storeFile=... 
keyAlias=... 
storePassword=... 
keyPassword=... 

接下來,編輯gradle.build文件,並添加以下內容:

android { 
    signingConfigs { 
     release 
    } 
    buildTypes { 
     release { 
      signingConfig signingConfigs.release 
     } 
    } 

} 

if (project.hasProperty('storeFile')) { 
    android.signingConfigs.release.storeFile = file(storeFile) 
} 
if (project.hasProperty('keyAlias')) { 
    android.signingConfigs.release.keyAlias = keyAlias 
} 
if (project.hasProperty('storePassword')) { 
    android.signingConfigs.release.storePassword = storePassword 
} 
if (project.hasProperty('keyPassword')) { 
    android.signingConfigs.release.keyPassword = keyPassword 
} 

現在正確地簽署發佈apk。

+0

它的build.gradle不是gradle.build ...但是當我打開該文件時說它已經生成並且不會編輯它。 – FlavorScape

+0

我嘗試編輯cordova文件夾中的一個,但我得到這些設置的錯誤。「評估項目出現問題:CordovaLib」。 >無法在SigningConfig容器上找到屬性'release'。' – FlavorScape

+0

最初的問題是由於將Cordova 1.5開始的項目更新爲Cordova 5.2而導致的。現在在2016年,我們有科爾多瓦6.0。這很可能是您遇到的確切問題,除非您自2014年以來首次更新Cordova之後還遇到問題。 – ben

相關問題