【发布时间】:2018-09-20 06:05:12
【问题描述】:
我按照official build instractions 重新编译库。就我而言:
> export ANDROID_SDK=$HOME/Library/Android/sdk
> export ANDROID_NDK=$ANDROID_SDK/ndk-bundle
> ./build.sh
并在编译过程中遇到一些错误,例如:
[arm64-v8a] Compile++ : MailCore <= MCIMAPAsyncSession.cpp
In file included from /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../include/MailCore/MCObject.h:11:0,
from /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../include/MailCore/MCAutoreleasePool.h:5,
from /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../include/MailCore/MCBaseTypes.h:5,
from /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.h:13,
from /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.cpp:9:
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.cpp: In member function 'virtual void mailcore::IMAPAsyncSession::automaticConfigurationDone(mailcore::IMAPSession*)':
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.cpp:874:87: warning: 'virtual mailcore::String* mailcore::IMAPSession::gmailUserDisplayName()' is deprecated (declared at /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/core/imap/MCIMAPSession.h:196) [-Wdeprecated-declarations]
MC_SAFE_REPLACE_COPY(String, mGmailUserDisplayName, session->gmailUserDisplayName());
^
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../include/MailCore/MCUtils.h:8:27: note: in definition of macro 'MC_SAFE_COPY'
#define MC_SAFE_COPY(o) ((o) != NULL ? (o)->copy() : NULL)
^
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.cpp:874:5: note: in expansion of macro 'MC_SAFE_REPLACE_COPY'
MC_SAFE_REPLACE_COPY(String, mGmailUserDisplayName, session->gmailUserDisplayName());
^
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.cpp:874:87: warning: 'virtual mailcore::String* mailcore::IMAPSession::gmailUserDisplayName()' is deprecated (declared at /Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/core/imap/MCIMAPSession.h:196) [-Wdeprecated-declarations]
MC_SAFE_REPLACE_COPY(String, mGmailUserDisplayName, session->gmailUserDisplayName());
^
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../include/MailCore/MCUtils.h:8:41: note: in definition of macro 'MC_SAFE_COPY'
#define MC_SAFE_COPY(o) ((o) != NULL ? (o)->copy() : NULL)
^
/Users/nikolay/Documents/Mailcore/mailcore2/build-android/jni/../../src/async/imap/MCIMAPAsyncSession.cpp:874:5: note: in expansion of macro 'MC_SAFE_REPLACE_COPY'
MC_SAFE_REPLACE_COPY(String, mGmailUserDisplayName, session->gmailUserDisplayName());
^
... compiling goes ok...
... and again some errors...
等等。最后我得到:
[arm64-v8a] StaticLibrary : libstdc++.a
[arm64-v8a] SharedLibrary : libMailCore.so
[arm64-v8a] Install : libMailCore.so => libs/arm64-v8a/libMailCore.so
warning: [options] bootstrap class path not set in conjunction with -source 1.6
com/libmailcore/MainThreadUtils.java:3: error: package android.os does not exist
import android.os.Handler;
^
com/libmailcore/MainThreadUtils.java:4: error: package android.os does not exist
import android.os.Looper;
^
com/libmailcore/MainThreadUtils.java:5: error: package android.util does not exist
import android.util.Log;
^
com/libmailcore/MainThreadUtils.java:10: error: cannot find symbol
private Handler handler;
^
symbol: class Handler
location: class MainThreadUtils
com/libmailcore/MainThreadUtils.java:21: error: cannot find symbol
handler = new Handler(Looper.getMainLooper());
^
symbol: class Handler
location: class MainThreadUtils
com/libmailcore/MainThreadUtils.java:21: error: cannot find symbol
handler = new Handler(Looper.getMainLooper());
^
symbol: variable Looper
location: class MainThreadUtils
6 errors
1 warning
如何重新编译库?最后我想修复一个text relocations error,但它甚至没有进行干净的构建
【问题讨论】:
-
在哪里添加这个: > export ANDROID_SDK=$HOME/Library/Android/sdk > export ANDROID_NDK=$ANDROID_SDK/ndk-bundle > ./build.sh 我无法进行此设置。请帮帮我
标签: android android-ndk mailcore2