2017-01-24 7 views
0

그래서 나는이 자습서에 설명 된대로 간단한 응용 프로그램을 만드는 buildozer를 사용하려고 인해 일부 자바 오류로 작동하지 않는 : (때문에) 자바 오류로buildozer는

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

, buildozer이 실패하고 Java에 대한 단서가 전혀 없습니다. 이것은 내가 buildozer에서 얻을 출력입니다 : 내가 쿠분투 16.10 사용하고

# 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>(jav[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>([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 
# 

, openjdk9 설치와, 같은 결과로와 "--python3"없이 buildozer 사용하려고했다.

+1

JDK의 하위 버전을 사용해보십시오. 9는 아직 베타 버전이며 아직 Android와 호환되지 않을 수 있습니다. – asgs

+0

그건 그랬어, 고마워! 나는 openJDK 8을 사용했고 buildozer는 잘 작동하는 것처럼 보였다. 그럼, 내 질문에 대답하지만, 내 질문에 답을 표시 할 수 있을지 모르겠다. – Mrokii

+0

댓글을 수정하여 답변으로 추가하고 수락 할 수 있습니다. – asgs

답변

0

제공된 용액은 잘 작동했다. 9 대신 OpenJDK8을 설치 했으므로 Buildozer가 제대로 작동합니다.