0
我對Android和j2objc相對較新,希望這個問題有一個簡單的修復。 我創建了一個簡單的項目,在Android中測試protobuf nano並轉換爲目標c。j2obj翻譯javanano protobuf無法編譯
j2objc-0.9.8.2.1/include/J2ObjC_header.h:25:17: error: cannot create __weak reference in file using manual reference counting
id JreStrAppend(__weak id *lhs, const char *types, ...);
這裏的的build.gradle文件:
plugins {
id 'java'
id "com.github.j2objccontrib.j2objcgradle" version "0.6.0-alpha"
id "com.google.protobuf" version "0.7.5"
}
sourceSets {
main.java.srcDirs += 'src/main/javanano'
}
dependencies {
// Any libraries you depend on, like Guava or JUnit
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.guava:guava:19.0'
compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-5'
testCompile 'junit:junit:4.12'
}
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:3.0.0-beta-2"
}
generateProtoTasks {
all().each { task ->
task.builtins {
remove java
javanano {
option 'java_multiple_files=true'
option 'ignore_services=true'
}
}
}
}
generatedFilesBaseDir = "$projectDir/src"
}
// Plugin settings; put these at the bottom of the file.
j2objcConfig {
// Sets up libraries you depend on
autoConfigureDeps true
// testMinExpectedTests 0
// Omit these two lines if you don't configure your Xcode project with CocoaPods
// xcodeProjectDir '/Users/gabrielchoza/SoftwareDev/NGCalDev/AuthTouchId' // suggested directory name
// xcodeTargetsIos 'IOS-APP', 'IOS-APPTests' // replace with your iOS targets
finalConfigure() // Must be last call to configuration
}
的應用程序中的Java消息發送到C#的Web服務,但翻譯javanano類的目標C失敗,出現以下錯誤編譯運行良好這裏是照片文件之一:
syntax = "proto3";
option csharp_namespace = "messages";
option java_package = "messages";
message Req {
string client_version = 1;
string client_practice = 2;
string instance_id = 3;
}
我們正在使用最新版本的Xcode:7.3版(7D175),以及OS X埃爾卡皮坦版本10.11.4
任何幫助將不勝感激。
感謝您的快速回答。當前(最新)年級插件是「com.github.j2objccontrib.j2objcgradle」版本「0.6.0-alpha」,並在使用1.0.2版本時失敗。它要求0.9.8.2.1。哪裏可以找到更新的插件? – Gjchoza
沒關係。在插件網站上找到解決方案:「skipJ2objctVerification = true」 – Gjchoza
對於frikken工具,700 MB? @Gjchoza它的拼寫skipJ2objcVerification – AndroidDev