2017-01-24 1 views
0

J'ai donc essayé d'utiliser buildozer pour créer une application simple comme décrit dans ce tutoriel:buildozer ne fonctionne pas en raison d'une java erreur

https://kivy.org/docs/guide/packaging-android.html

Cependant, buildozer échoue en raison d'une java-erreur, et Je n'ai aucune idée de Java du tout. Ceci est la sortie que je reçois de buildozer:

# Check configuration tokens 
# Ensure build layout 
# Check configuration tokens 
# Read available permissions from api-versions.xml 
# Preparing build 
# Check requirements for android 
# Run 'dpkg --version' 
# Cwd None 
Debian 'dpkg' package management program version 1.18.10 (amd64). 
This is free software; see the GNU General Public License version 2 or 
later for copying conditions. There is NO warranty. 
# Search for Git (git) 
# -> found at /usr/bin/git 
# Search for Cython (cython) 
# -> found at /usr/local/bin/cython 
# Search for Java compiler (javac) 
# -> found at /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 
# Search for Java keytool (keytool) 
# -> found at /usr/lib/jvm/java-9-openjdk-amd64/bin/keytool 
# Install platform 
# Apache ANT found at /home/stephan/.buildozer/android/platform/apache-ant-1.9.4 
# Android SDK found at /home/stephan/.buildozer/android/platform/android-sdk-20 
# Android NDK found at /home/stephan/.buildozer/android/platform/android-ndk-r9c 
# Run '/home/stephan/.buildozer/android/platform/android-sdk-20/tools/android list sdk -u -e' 
# Cwd /home/stephan/.buildozer/android/platform 
Refresh Sources: 
    Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml 
Exception in thread "main" java.lang.ExceptionInInitializerError 
     at javax.crypto.JceSecurityManager.<clinit>([email protected]/JceSecurityManager.java:65) 
     at javax.crypto.Cipher.getConfiguredPermission([email protected]/Cipher.java:2595) 
     at javax.crypto.Cipher.getMaxAllowedKeyLength([email protected]/Cipher.java:2619) 
     at sun.security.ssl.CipherSuite$BulkCipher.isUnlimited([email protected]/CipherSuite.java:602) 
     at sun.security.ssl.CipherSuite$BulkCipher.<init>([email protected]/CipherSuite.java:574) 
     at sun.security.ssl.CipherSuite$BulkCipher.<clinit>([email protected]/CipherSuite.java:460) 
     at sun.security.ssl.CipherSuite.<clinit>([email protected]/CipherSuite.java:1074) 
     at sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuiteList([email protected]/SSLContextImpl.java:353) 
     at sun.security.ssl.SSLContextImpl.access$100([email protected]/SSLContextImpl.java:41) 
     at sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(java.ba[email protected]/SSLContextImpl.java:582) 
     at java.lang.Class.forName0([email protected]/Native Method) 
     at java.lang.Class.forName([email protected]/Class.java:291) 
     at java.security.Provider$Service.getImplClass([email protected]/Provider.java:1844) 
     at java.security.Provider$Service.newInstance([email protected]/Provider.java:1820) 
     at sun.security.jca.GetInstance.getInstance([email protected]/GetInstance.java:236) 
     at sun.security.jca.GetInstance.getInstance([email protected]/GetInstance.java:164) 
     at javax.net.ssl.SSLContext.getInstance([email protected]/SSLContext.java:166) 
     at org.apache.http.conn.ssl.SSLSocketFactory.createSSLContext(SSLSocketFactory.java:202) 
     at org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext(SSLSocketFactory.java:209) 
     at org.apache.http.conn.ssl.SSLSocketFactory.<init>(SSLSocketFactory.java:333) 
     at org.apache.http.conn.ssl.SSLSocketFactory.getSocketFactory(SSLSocketFactory.java:165) 
     at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:45) 
     at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:294) 
     at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:445) 
     at com.android.sdklib.internal.repository.UrlOpener.openWithHttpClient(UrlOpener.java:295) 
     at com.android.sdklib.internal.repository.UrlOpener.openUrl(UrlOpener.java:155) 
     at com.android.sdklib.internal.repository.DownloadCache.downloadAndCache(DownloadCache.java:572) 
     at com.android.sdklib.internal.repository.DownloadCache.openCachedUrl(DownloadCache.java:496) 
     at com.android.sdklib.internal.repository.AddonsListFetcher.fetchXmlUrl(AddonsListFetcher.java:267) 
     at com.android.sdklib.internal.repository.AddonsListFetcher.fetch(AddonsListFetcher.java:132) 
     at com.android.sdkuilib.internal.repository.sdkman2.PackageLoader.loadRemoteAddonsListInTask(PackageLoader.java:445) 
     at com.android.sdkuilib.internal.repository.sdkman2.PackageLoader.access$200(PackageLoader.java:50) 
     at com.android.sdkuilib.internal.repository.sdkman2.PackageLoader$3.run(PackageLoader.java:415) 
     at com.android.sdkuilib.internal.repository.SdkUpdaterNoWindow$ConsoleTaskFactory.start(SdkUpdaterNoWindow.java:176) 
     at com.android.sdkuilib.internal.repository.sdkman2.PackageLoader.loadRemoteAddonsList(PackageLoader.java:412) 
     at com.android.sdkuilib.internal.repository.UpdaterData$5.run(UpdaterData.java:1045) 
     at com.android.sdkuilib.internal.repository.SdkUpdaterNoWindow$ConsoleTaskFactory.start(SdkUpdaterNoWindow.java:166) 
     at com.android.sdkuilib.internal.repository.SdkUpdaterNoWindow$ConsoleTaskFactory.start(SdkUpdaterNoWindow.java:160) 
     at com.android.sdkuilib.internal.repository.UpdaterData.refreshSources(UpdaterData.java:1041) 
     at com.android.sdkuilib.internal.repository.UpdaterData.getRemoteArchives_NoGUI(UpdaterData.java:779) 
     at com.android.sdkuilib.internal.repository.UpdaterData.listRemotePackages_NoGUI(UpdaterData.java:818) 
     at com.android.sdkuilib.internal.repository.SdkUpdaterNoWindow.listRemotePackages(SdkUpdaterNoWindow.java:123) 
     at com.android.sdkmanager.Main.displayRemoteSdkListNoUI(Main.java:391) 
     at com.android.sdkmanager.Main.doAction(Main.java:253) 
     at com.android.sdkmanager.Main.run(Main.java:118) 
     at com.android.sdkmanager.Main.main(Main.java:101) 
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism 
     at javax.crypto.JceSecurity.<clinit>([email protected]/JceSecurity.java:91) 
     ... 46 more 
Caused by: java.lang.NullPointerException 
     at sun.nio.fs.UnixPath.normalizeAndCheck([email protected]/UnixPath.java:75) 
     at sun.nio.fs.UnixPath.<init>([email protected]/UnixPath.java:69) 
     at sun.nio.fs.UnixFileSystem.getPath([email protected]/UnixFileSystem.java:280) 
     at java.nio.file.Paths.get([email protected]/Paths.java:84) 
     at javax.crypto.JceSecurity.setupJurisdictionPolicies([email protected]/JceSecurity.java:254) 
     at javax.crypto.JceSecurity.access$000([email protected]/JceSecurity.java:49) 
     at javax.crypto.JceSecurity$1.run([email protected]/JceSecurity.java:82) 
     at javax.crypto.JceSecurity$1.run([email protected]/JceSecurity.java:79) 
     at java.security.AccessController.doPrivileged([email protected]/Native Method) 
     at javax.crypto.JceSecurity.<clinit>([email protected]/JceSecurity.java:78) 
     ... 46 more 
# Command failed: /home/stephan/.buildozer/android/platform/android-sdk-20/tools/android list sdk -u -e 
# 

J'utilise Kubuntu 16.10, avec openjdk9 installé, et ont essayé d'utiliser buildozer avec et sans « --python3 », avec les mêmes résultats.

+1

Essayez une version inférieure de JDK. 9 est encore en version bêta et peut ne pas être compatible avec Android pour le moment. – asgs

+0

Ça l'a fait, merci! J'ai utilisé openJDK 8 et buildozer semblait bien fonctionner! Donc, cette réponse à ma question, mais je ne sais pas si/comment je peux marquer ma question comme réponse ... – Mrokii

+0

Vous pouvez affiner votre commentaire et l'ajouter comme une réponse et le marquer comme accepté. – asgs

Répondre

0

La solution asgs fournie a bien fonctionné. J'ai installé OpenJDK8 au lieu de 9 et cela a permis à Buildozer de fonctionner correctement.