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.
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
Ç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
Vous pouvez affiner votre commentaire et l'ajouter comme une réponse et le marquer comme accepté. – asgs