คำถามติดแท็ก android-ndk

Android Native Development Kit (NDK) เป็นเครื่องมือที่ใช้ร่วมกับ Android SDK ที่ช่วยสร้างส่วนที่สำคัญต่อประสิทธิภาพของแอปในโค้ดเนทีฟหรือพอร์ตไลบรารีที่มีอยู่ใน C / C ++ ไปยัง Android มีส่วนหัวและไลบรารีที่อนุญาตให้สร้างกิจกรรมจัดการอินพุตของผู้ใช้ใช้เซ็นเซอร์ฮาร์ดแวร์เข้าถึงทรัพยากรแอปพลิเคชันและอื่น ๆ เมื่อเขียนโปรแกรมใน C / C ++

11
Android NDK C ++ JNI (ไม่พบการใช้งานสำหรับเนทีฟ ... )
ฉันกำลังพยายามใช้ NDK กับ C ++ และดูเหมือนจะไม่สามารถกำหนดวิธีการตั้งชื่อที่ถูกต้องได้ วิธีดั้งเดิมของฉันมีดังนี้: extern "C" { JNIEXPORT void JNICALL Java_com_test_jnitest_SurfaceRenderer_drawFromJni (JNIEnv* env, jclass c) { // } } ที่มีส่วนหัวห่อด้วย "C" {} ภายนอกเช่นกัน ทุกอย่างคอมไพล์ได้ดีสร้างไฟล์. so และคัดลอกไปยังโฟลเดอร์ libs ภายใต้โปรเจ็กต์ของฉัน แต่เมื่อฉันดีบักและเรียกใช้ใน Eclipse ฉันยังคงได้รับข้อความบันทึกแมวว่า "ไม่พบการใช้งานสำหรับเนทีฟ ... " มีบางอย่างที่ฉันขาดหายไปเนื่องจากตัวอย่าง NDK ทั้งหมดอยู่ใน C หรือไม่ ขอบคุณ.

6
Android: ไม่มี NDK รุ่นที่ตรงกับรุ่นที่ร้องขอ
หลังจากอัปเดตเป็นปลั๊กอิน Android Gradle 3.6.0 (เผยแพร่เมื่อ 24 กุมภาพันธ์ 2020) โครงการหลายโครงการเริ่มต้นล้มเหลวด้วยตนเอง: No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669 มันค่อนข้างง่ายในการ "แก้ไข" สิ่งนี้ภายในเครื่องโดยการติดตั้ง ndk รุ่นเก่ากว่าที่คาดไว้: sdkmanager 'ndk;20.0.5594570' อย่างไรก็ตามคำถามของฉันคือ: ระบุรุ่นที่เก่ากว่าและที่ใด? และฉันจะอัปเดตมันอย่างไรเพื่อให้ตรงกับเวอร์ชั่นล่าสุด21.0.6113669?

4
ไม่สามารถใช้ NDK เก่า (android-ndk-r17c) หลังจากอัพเกรด Catalina เนื่องจากความปลอดภัยใหม่
หลังจากอัปเกรดเป็น macOS Catalina โครงการของฉันจะไม่สร้างอีกต่อไป นี่เป็นเพราะ Catalina เชื่อว่าไบนารีใน 'android-ndk-r17c' ไม่ได้มาจากนักพัฒนาที่เชื่อถือได้ คุณได้รับข้อความเช่น: "" ld "ไม่สามารถเปิดได้เนื่องจากนักพัฒนาไม่สามารถยืนยันได้" "macOS ไม่สามารถตรวจสอบได้ว่าแอพนี้ปลอดจากมัลแวร์" ฉันต้องใช้ NDK เก่าเนื่องจากปัญหากับ native openCV library SDK และ NDK ที่ใหม่กว่า พวกเขากำลังทำงานอยู่ แต่ SDK รุ่นใหม่ยังไม่เสถียรพอสำหรับฉัน ฉันสามารถ "clang" และ "clang ++" ไม่สามารถทำงานได้โดยไปที่บานหน้าต่างความปลอดภัยและคลิก "Allow Anyway" ในการแจ้งเตือนความปลอดภัย อย่างไรก็ตามเมื่อพยายามทำสิ่งนี้ด้วย "Id" ฉันสามารถผ่านการเตือนครั้งแรกได้โดยการคลิก "Allow Anyway" แต่ดูเหมือนว่าจะถูกเรียกในภายหลังและในการโทรครั้งต่อไปฉันไม่มีตัวเลือกให้เปิดได้ ไม่มีรหัสจริงๆ ฉันเพิ่งมี (และมีมาเป็นเวลานาน) การอ้างอิง Android Studio …

1
Crashlytics ไม่แสดงข้อขัดข้องดั้งเดิม
ก่อนหน้านี้จะถูกทำเครื่องหมายว่าซ้ำซ้อนฉันได้ลองทุกอย่างจากคำถามที่เป็นไปได้ทั้งหมด มีการรายงานข้อขัดข้องของ Java อย่างถูกต้องอย่างไรก็ตามข้อขัดข้องจาก libs ดั้งเดิมไม่มีสัญลักษณ์การดีบัก สิ่งที่ฉันได้ลอง: ./gradlew crashlyticsUploadSymbolsDevDebug // to upload the symbols manually androidNdkOut 'build/intermediates/ndkBuild/devDebug/obj/local' //specify the ndk paths manually androidNdkLibsOut 'build/intermediates/merged_native_libs/devDebug/out/lib'` //specify the ndk paths manually การตั้งค่าปัจจุบัน: อ้างอิง: implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') { transitive = true } implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1' android.applicationVariants.all { variant -> def variantName = variant.name.capitalize() def task = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.