c編譯生成APK
❶ 我想知道下,c語言編寫的程序是否可以直接導出APP
嚴格來說,C語言的編譯器是不可以直接導出為APK的,但是兩種方法:
1.
採用反編譯,先將C程序碼轉成java,再導出為APK,該方法實合有一定編程功底的人。
2.
用一款軟體:eclipse軟體。去網路搜一下,使用教程也有,360軟體寶庫就有純凈版。
祝你好運!
❷ eclipse將c語言編譯輸出apk要怎麼做
有兩種方法把c語言編的程序轉變成apk的安裝包:
方法一:
1,簡單的說就是參考C代碼開發 Android 應用、在方法里用 Java語法重新實現c的每個方法,安裝,對照著程序功能和反編譯結果好好整理整理得到漂亮的源代碼
2.編譯、簽名 再找個Android手機拷貝進去、反編譯結果一般不怎麼好看,就是一個Java函數啦,不好實現的想辦法實現
3,當然不會復雜很多就是在上面第1步前加些步驟,出來啦,進了函數里你想幹啥就幹啥了(想幹啥就幹啥不包含方法的輸入輸出部分咯)
方法二:
使用eclipse軟體,該方法為簡單
❸ 如何用 純C++開發安卓應用
純C++,你想多的。
除非你從頭開始寫系統api。
沒有android給你提供的api,或者別人提供的類庫,你用純C++自己實先去。
C/C++ 開發android,可以使用NDK;
Android NDK 是在SDK前面又加上了「原生」二字,即Native Development Kit,因此又被Google稱為「NDK」。
眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。
NDK包括了:
從C / C++生成原生代碼庫所需要的工具和build files。
將一致的原生庫嵌入可以在Android設備上部署的應用程序包文件(application packages files ,即.apk文件)中。
支持所有未來Android平台的一系列原生系統頭文件和庫
為何要用到NDK?
概括來說主要分為以下幾種情況:
1. 代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。
2. 在NDK中調用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。
3. 便於移植,用C/C++寫的庫可以方便在其他的嵌入式平台上再次使用。
2、或者使用Qt for android。使用qt提供的C++類庫(加上了Qt自己的特性)開發andriod
不過建議對C/C++非常熟練才用C/C++開發。不然內存溢出呵呵。
不是浸淫C++技術的高手的話,老老實實學java或者go吧。
❹ C語言可用來寫apk嗎
不行,apk的基礎語言是Java
❺ 怎麼用C需要寫apk(別扯到java了)
在PC上的程序可以輕松使用./或不用指明,默認讀取的就是程序所在路徑內的文件。但在Android上,應用程序被打包成apk,程序運行時無法直接獲取apk(壓縮包)內的文件。但在一些特殊場合,如載入圖像處理訓練好的分類器、模型等數據,要求每個apk到手機上都能運行,就必須解決這個問題。本文深入研究apk安裝過程,給出三種方法解決這個問題。
一、android apk安裝過程
Android apk文件是將AndroidManifinest.xml、應用程序代碼(.dex)、資源文件和其他文件打包成的一個壓縮包文件,其中的.dex文件即使android上的可執行文件,由Java代碼編譯後的class文件鏈接而成。因此可以用unzip直接將apk打開。如下圖所示,將本文後面要附源碼的一個apk解壓後
❻ Android APK編譯流程
apk 是Android Package的簡寫, 在平時的開發過程中,通過點擊 Run app 按鈕 或者 在命令行中輸入
這樣Android Studio就會啟動構建流程,最終輸出一個我們想要的APK。
直達官網介紹
對於小白來說,上面一張圖已經可以解釋apk的構建過程了,不過對於Andoid開發者而言還需要了解一些更詳細的構建過程。
詳細的對應步驟 和 使用工具如下:
資源文件(res文件夾下的文件)通過 AAPT(Android Asset Packaging Tool)打包生成R.java類(資源索引表)、.arsc資源文件 和res文件。
resources.arsc 是一個App的資源索引表,通過R.java 文件 和 resources.arsc 可以定位到資源的內存地址,resources.arsc文件的作用是通過一樣的ID,根據不同的配置索引到最佳的資源顯示在UI中。
AIDL (Android Interface Definition Language), 是Android介面定義語言,是Android提供的IPC (Inter Process Communication,進程間通信)的一種獨特實現。
如果有aidl文件,這個階段會生成對應的Java介面文件。
R.java文件、工程源碼文件、aidl.java文件, 在這一步通過javac生成.class文件。
源碼.class文件和第三方jar或者library通過dx工具打包成dex文件
Android系統的Dalvik虛擬機的可執行文件為DEX格式,所以這里會將上一步中生成的.class文件 和 引用的第三方jar等過程中的.class 一起通過dx工具打包成dex文件
apkbuilder工具會將所有沒有編譯的資源、.arsc資源、.dex文件打包到一個完成apk文件中
tips:
apksigner工具會對未簽名的apk驗證簽名。得到一個簽名後的apk(signed.apk)
apksigner 是google 退出的V2簽名方式
Jarsigner 是之前一直使用的V1簽名方式
可以通過在命令行中輸入apksigner --help來獲取詳情信息,如果沒有特殊需求,使用下面命令即可完成簽名
release mode 下使用 aipalign進行align,即對簽名後的apk進行對齊處理
所謂對齊,主要過程是將APK包中所有的資源文件距離文件起始偏移為4位元組整數倍,這樣通過內存映射訪問apk文件時的速度會更快。對齊的作用主要是為了減少運行時內存的使用。
zipalign是一個android平台上整理APK文件的工具,它對apk中未壓縮的數據進行4位元組對齊,對齊後就可以使用mmap函數讀取文件,可以像讀取內存一樣對普通文件進行操作。如果沒有4位元組對齊,就必須顯式的讀取,這樣比較緩慢並且會耗費額外的內存。
參考文章:
Android-Studio配置構建
淺談Android打包流程
apk打包流程
END!
❼ 如何在eclipse中把Android工程編譯為apk安裝文件
1、生成keystore
按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目錄下,輸入
keytool -genkey -alias android.keystore -keyalg RSA -validity100000
-keystore android.keystore
參數意義:-validity主要是證書的有效期,寫100000天;空格,退格鍵都算密碼。
命令執行後會在C:ProgramFilesJavajdk1.6.0_10in>目錄下生成android.keystore文件 。如圖-1

"Destination APK file "指定APK存儲的位置。單擊"Finish"按鈕,打包完成。
進入"D:My Document",會看到生成的HelloWorld.apk以及sharpandroid證書庫。
❽ C語言生成APK作用
可以用來C4droid,使用GC/克++編譯器。
學習C用好,支持中國輸出顯示,學生使用。
如果你需要編寫自己的軟體和其他高級用戶界面的變化,那麼你需要的安卓工程師。求,如果XP系統,你可以用WIN-TC,C-免費。如果是贏-7、因為它不是與像編譯老贏-TC兼容。
