導航:首頁 > 操作系統 > androidfaac編譯

androidfaac編譯

發布時間:2023-09-05 21:04:00

『壹』 android mediacodec編碼h264 怎樣調節gop

android mediacodec編碼h264 怎樣調節gop

簡單地說。軟解碼是用軟體方式進行解碼,需要佔用CPU資源,速度相當較慢。硬解碼直接用硬體方式解決,不佔用CPU資源,速度相對較快。

mov編碼h264跟mp4編碼h264的區別?

mov和mp4是兩種不同的封裝格式,裡面的h.264都是一樣的

H264編碼 H264編碼器 哪個牌子好

單位用的是視盈,幾年來一直很穩定。推薦你聯系視盈黃國耀。一三七,一一一四,六六九一。

MediaCodec編碼可以獲取到H264幀類型嗎?

僅轉換可以使用命令,把任一mp4轉換成ts
ffmpeg -i input.mp4 -c -bsf h264_mp4toannexb output.ts 很高興為您解答!
有不明白的可以追問!如果您認可我的回答。

如何實時h264編碼及aac編碼

1. 簡單介紹

首先激瞎喊是捕獲,這里採用了DirectShow的方式,對它進行了一定程度的封裝,包括音視頻。好處是直接使用native api,你可以做想做的任何修改,壞處是,不能跨平台,採集音視頻這種應用,linux平台也是需要滴呀。有跨平台的做法,對視頻,可以使用OpenCV,對音頻,可以使用OpenAL或PortAudio等,這樣就行了。

編碼可以選擇的餘地比較大,對視頻來講,有H264, MPEG-4, WebM/VP8, Theora等,音頻有Speex, AAC, Ogg/Vorbis等,它們都有相應的開源項目方案,我採用的是x264進行H264編碼,libfaac進行aac編碼,之後是否更改編碼方案,等具體項目需求再說了。這里提一下WebM,Google牽頭的項目,完全開放和自由,使用VP8和Vorbis編碼,webm(mkv)封裝,有多家巨頭支持,目的是想要取代當前的H264視頻編碼,號稱比後者更加優秀,我沒有測試過實際效果。不過有商業公司牽頭就是不一樣,各項支持明野都很全面,有時間了關注一下。

2. 邏輯和流程

基本的思想是實現dshow ISampleGrabberCB介面,通過回調來保存每一個buffer。除了界面線程和dshow自己的線程之外,我們啟動了兩個線程,AudioEncoderThread和VideoEncoderThread,分別從SampleGrabber中取出數據,調用編碼器進行編碼,編碼後的文件可以直接輸出。看圖:

程序是用VS2010構建的,看張工程截圖:

Base下面的是對系統API的一些簡單封裝,主要是線程和鎖。我這里簡單也封裝的了一下dshow的捕獲過程,包括graph builder的創建,filter的連接等。directshow是出了名的難用,沒辦法,難用也得用。因為是VS2010,調用的Windows SDK 7.1中的dshow,沒有qedit.h這個文件,而它正式定義ISampleGrabberCB的。不急,系統中還是有qedit.dll的,我們要做的就是從Windows SDK 6.0中,把它拷過來,然後在stdafx.h中加入這幾行代碼,就可以了

1 #pragma include_alias( "dxtrans.h", "qedit.h" )
2 #define __IDxtCompositor_INTERFACE_DEFINED__
3 #define __IDxtAlphaSetter_INTERFACE_DEFINED__
4 #define __IDxtJpeg_INTERFACE_DEFINED__
5 #define __IDxtKey_INTERFACE_DEFINED__
6 #include "qedit.h"

3. 音視頻編碼

相關文件:

Encoder下就是音視頻編碼相關的代碼。X264Encoder封裝了調用x264編碼器的神州操作,FAACEncoder封裝了調用libfaac編碼器的操作,VideoEncoderThread和AudioEncoderThread負責主要的流程。下面我把關鍵代碼貼出來,大家可以參考一下。

A. 視頻編碼線程

主要流程是首先初始化x264編碼器,然後開始循環調用DSVideoGraph,從SampleGrabber中取出視頻幀,調用x264進行編碼,流程比較簡單,調用的頻率就是你想要獲取的視頻幀率。要注意的一點是,x264進行編碼比較耗時,在計算線程Sleep時間時,要把這個過程消耗的時間算上,以免採集的視頻幀率錯誤。

B. 音頻編碼線程

主要流程和視頻編碼線程相同,也是初始化FAAC編碼器,然後循環調用DSAudioGraph,從SampleGrabber中取出視頻幀,調用faac進行編碼。和視頻不同的是,音頻的sample的頻率是非常快的,所以幾乎要不斷的進行採集,但前提是SampleGrabber中捕獲到新數據了才行,不然你的程序cpu就100%了,下面代碼中IsBufferAvailaber()就是做這個檢測的。

調用faac進行編碼的時候,有點需要注意,大家特別注意下,不然編碼出來的音頻會很不正常,搞不好的話會很頭疼的。先看下faac.h的相關介面

1 faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate, unsigned int numChannels,2 unsigned long *inputSamples, unsigned long *maxOutputBytes);3 4 int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t * inputBuffer, unsigned int samplesInput,5 unsigned char *outputBuffer, unsigned int bufferSize);
faacEncEncode第三個參數指的是傳入的sample的個數,這個值要和調用faacEncOpen返回的inputSamples相等。要做到這點,就要在dshow中設置好buffsize,公式是:

BufferSize = aac_frame_len * channels * wBytesPerSample aac_frame_len = 1024

如何讓opencv支持h264編碼

h.264是一種視頻壓縮標准了,有專門的庫對它進行壓縮解壓的。
我對opencv還算是比較熟悉的,它沒有h264之類的庫

H264編碼DVD能直接播放嗎?

不能啊,不同格式的,H264跟DVD不一樣啊

Adobe Pr的h264是啥編碼器

音頻編輯器
1、運行Set-up.exe,會彈出「遇到了以下問題」彈窗,選擇忽略;
2、之後會初始化安裝程序,請不要進行任何操作,稍等片刻;
3、有安裝和試用兩種選擇,請點擊試用
4、安裝需要Adobe ID登錄驗證,沒有的話選擇"獲取Adobe ID"注冊一個,只需有郵箱和密碼即可(您也可以選擇斷開網路連接,選擇「以後再登錄」),同樣也能繼續安裝;這里為您演示登陸安裝。
5、接受協議後,選擇安裝的語言和安裝的目錄。
6、之後只需耐心等待,軟體需要組件已自帶,無需另外安裝,這樣就等安裝完Adobe Premiere Pro CC 2015。
7、安裝完畢點擊立即啟動,啟動後不是進入軟體而是試用版界面,點擊開始試用;
8、打開Premiere Pro CC 2015,選擇新建項目才算是進入軟體。
PS:若是不事先進入一次軟體直接破解會導致軟體無法打開。
Premiere Pro CC 2015::3322./soft/201507311409.

mediacodec取不出h264解碼後數據嗎

需要調用av_parser_parse
進行幀查找分解後再送入解碼器解碼。

H264與MPEG中I,P,B幀編碼一樣嗎

編碼是不一樣的,H.264採用的幀內編碼和幀間預測編碼技術 比MPEG-2的都要先進,因此壓縮效率更高

『貳』 如何反編譯android應用以及重編譯,簽名和對齊優化

工具/原料
電腦必須裝java
JAVA電腦環境教程
apktool

方法/步驟
1. 配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
打開命令提示符,(開始-運行-輸入cmd)

2. 輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)

3. 使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面

4. 如果只是想反編譯framework-res.apk
輸入apktool if framework-res.apk(框架的建立)

5. 開始最重要的反編譯,輸入指令,apktool d framework-res.apk
(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)

6. 最後反編譯完成

7. 修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯

8. 如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復4-7步驟)
apktool if framework-res.apk
apktool if SystemUI.apk

9. 對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk

10. 回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)

『叄』 android反編譯生成的代碼如下 像MainActivity.access$000(this.this$0);這樣的代碼該怎樣解釋,怎麼改

access$0表示調用一個外部類的方法,說明這段代碼是在內部類中使用的:

在調用的外部類方法定義代碼的上面,應該會有一段。methodstaticsyntheticaccess$0。

的代碼,這個代碼裡面才是真正要調用的方法。

安卓虛擬機指令在調用外部類方法的時候,需要區分類的調用關系。

thiscmdisdeprecated,usethed2j-dex2jarifpossible

dex2jarversion:translator-0.0.9.15

dex2jar..Apkd(d2j)classes.dex->..Apkd(d2j)classes_dex2jar.jar



(3)androidfaac編譯擴展閱讀

反編譯是一個復雜的過程,反編譯軟體有:

1、SWF相關的反編譯程序

ActionScriptViewer

第一個也是最強大的商業SWF反編譯工具,同類產品中,它的AS代碼反編譯效果最好,SWF轉Fla工程重建成功率最高。

2、Android相關的反編譯程序

SMALI/BAKSMAL

SMALI/BAKSMALI是一個強大的apk文件編輯工具,用於Dalvik虛擬機(Google公司自己設計用於Android平台的虛擬機)來反編譯和回編譯classes.dex。其語法是一種寬松式的Jasmin/dedexer語法,而且它實現了.dex格式所有功能(註解,調試信息,線路信息等)。

『肆』 Android反編譯(三)— 手動編譯

PS: 最近沒工作,沒工作就沒需求,沒需求就沒什麼技術總結的靈感,那就沒更新什麼。但是兩個月不更新了,要是三個月不更新就會出大事,所以這次打算做一件有意思又不難的事。
之前有發文章寫過反編譯,今天就來試試反編譯之正編譯,開玩笑的,就是試試手動編譯的過程, 平時我們在項目中編譯出包都是使用Gradle直接執行assemble任務就能解決,我打算試試手動模擬整個過程。當然我也是第一次這樣搞,所以如果有寫得不對的地方,還望指出。

眾所周知,apk實質上就是一個壓縮包。復習一下,我們寫個最簡單的Demo,然後打包,然解壓,注意是解壓,不是反編譯,意義是不同的。

注意我這個Demo很簡單,什麼都不引入

然後我們看看整個出包的過程,隨便從網上拿張圖

然後這里我們用Android SDK給我們提供的工具來完成整個流程,工具在sdk文件夾下的build-tools文件夾下,有什麼aapt.exe、dx.bat,用的就是這些

這步應該是整個流程最簡單的吧,我感覺,所以從最簡單的開始。
我們先看看生成的dex有什麼

對比項目,我是一開始最基本的項目,什麼都沒動,所以只有一個MainActivity.clas,所以這里肯定是要先想辦法得到BuildConfig.class和R.class。

輸入命令:
aapt p -f -m -J <輸出路徑> -S <res路徑> -I <android.jar路徑> -M <Manifest路徑>

下一步,我們需要BuildConfig.class
這個BuildConfig.java是由gradle在我們配置好gradle之後自己幫我們生成的,所以我們直接拿來用,然後再javac就得到class文件了

然後我們再編譯我們的MainActivity.java並將它們放到同一個文件夾下, MainActivity因為引用了Android.jar和R文件,所以編譯時注意點,我為此被動好好的復習了一遍javac,都是淚

最後一步,我們用dx工具就能打出dex文件了

然後執行命令就得到一個Dex文件,看看這個文件裡面和上面直接打出的apk中的Dex文件有什麼不同:

看圖,我們上一步已經生成.dex了,那麼我們需要和compiled Resource 還有 Other Resource 一起生成APK。

我們先來生成compiled Resource,也就是resources.arsc
發現之前使用aapt生成R文件的時候沒寫完整,當時可以加一個-F參數直接生成arsc和Manifest

導出的abc.zip裡面就有resources.arsc和AndroidManifest.xml。
因為之前寫漏了,所以肯定要重新編一次MainActivity.java和Dex

我們把剛才的dex文件和aapt生成的resources.arsc、AndroidManifest.xml和res放到一個文件夾裡面。
PS:res文件夾也是上面aapt的命令生成的
然後我們對比這個文件夾和之前apk解壓的文件夾

最後運行

看來是成功了。

再說說遇到的還有兩個問題,並說下我解決問題的思路
(1)我把它們都放到一個文件夾之後,我壓縮成壓縮包,然後改後綴成.apk,然後發現安裝不了,我就直接反編譯,發現發編譯失敗,提示包有問題,以我多點玩包的經驗,我感覺就是壓縮工具出了問題,然後我去下個「好壓」(這不是廣告啊),然後就能正常反編譯了。
(2)但是還是安裝不了,再根據我多年的玩包經驗,我感覺是簽名問題,然後我隨便給這個包上一個簽名,就能正常安裝得到上圖的結果了。

總體來說,還真挺好玩的,這整個過程,就是翻車了幾次。做完之後感覺非常牛逼,為什麼這樣說,因為我知道這整個過程,我就可以做到,我不經過gradle來打包,我自己寫個python腳本來調用aapt和dx來打包也是能做到的。
當然上面純屬異想天開,因為這是個什麼都沒有的Demo所以覺得簡單,要是一個真實的項目,我感覺肯定要有很多坑,別的先不說,一個項目那麼多依賴關系,我這javac要搞死人。
最後如果有不對的地方,希望有大佬能夠指出,畢竟能運行也不能證明完全沒問題。然後我使用的build-tools是28的,不敢保證其它版本包括以後版本的玩法都一樣。

『伍』 如何反編譯android應用並重新打包

反編譯android步驟入下:

第一:使用apktool直接反編譯apk

第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!

『陸』 android編譯命令的說明

android源碼目錄下的build/envsetup.sh文件,描述編譯的命令

- m:       Makes from the top of the tree.

- mm:      Builds all of the moles in the current directory.

- mmm:     Builds all of the moles in the supplied directories.

要想使用這些命令,首先需要設置android腳本編譯環境,在源碼根目錄執行 source build/envsetup.sh

m:編譯所有的模塊

mm:編譯當前目錄下的模塊,當前目錄下要有Android.mk文件

mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件

下面舉個例子說明,假設我要編譯android下的\framework\av\cmds\screenrecord模塊,

當前目錄為源碼根目錄,方法如下:

1、source build/envsetup.sh

2、mmm framework/av/cmds/screenrecord

或者 :

1、source build/envsetup.sh

2、cd framework/av/cmds/screenrecord

3、mm

『柒』 怎麼使用Android源碼編譯c模塊生成可執行文件

1. 在./development目錄下創建一目錄 如:myhello
2. 進入hello目錄,在其下編寫自己的.c文件,如: myhello.c
#include <stdio.h>
int main()
{
printf("hello world\n");
exit(0);
//return 0;
}
3. 在hello目錄中,編寫Android.mk, 內容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myhelloworld
LOCAL_SRC_FILES := myhello.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
4. 回到Android源代碼頂層目錄,進行編譯,make myhelloworld
5. 生成的可執行文件位於:out/target/proct/lotus/system/bin/ 目錄下
6. adb push 到手機 /data 目錄下,然後進入adb shell,到data目錄下,執行./myhelloworld 皆可

手動編譯連接【arm-eabi-gcc 的目錄隨andorid的版本而有變化,還有就是需要鏈接的文件如果比較多時,需要很多-l 就很麻煩了】
7、編譯成目標文件:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -I bionic/libc/arch-arm/include/ -I bionic/libc/include -I bionic/libc/kernel/common -I bionic/libc/kernel/arch-arm -g -c helloworld.c -o hello.o
8、生成可執行代碼:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -nostdlib -Bdynamic -Wl,-T,build/core/armelf.x -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,noreloc -o helloworld -Lout/target/proct/[generic]/obj/lib -Wl,-rpath-link=out/target/proct/[generic]/obj/lib -lc hello.o -entry=main

其中[ ]中部分根據實際情況修改

**************************************************
實驗:
1. 建目錄(my Android)/development/test, 在該目錄下新建 Android.mk和fb_test.c文件

2. Android.mk文件

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myfbtest
LOCAL_SRC_FILES := fb_test.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

3. 以下為fb_test.c
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <linux/kd.h>

#include <stdio.h>

#define FBBIT_PER_PIXEL 32
#define FBBIT_PIXEL_IMAGE 16
#define PIXELS_WIDTH_BYTE 4
#define BYTE_PER_PIXEL 3
#define FB_GRAPHICS_PATH "/dev/graphics/fb0"
#define DEV_TTY0_PATH "/dev/tty0"

#define DISPLAY_ERROR -1
#define DISPLAY_SUCCESS 0

#define GET_BATTERYCAPACITY_ERR -1

#define MAX_STR 255

static struct {
int fd;
void *pixels;
struct fb_fix_screeninfo fixed;
struct fb_var_screeninfo var;
int align_xres;
} fb;

int getBatteryCapacity(void)
{
FILE *in;
char tmpStr[MAX_STR + 1];
char capfile[] = "/sys/class/power_supply/battery/capacity";

if (capfile == NULL)
return GET_BATTERYCAPACITY_ERR;

in = fopen(capfile, "rt");
if (in == NULL)
return GET_BATTERYCAPACITY_ERR;

if (fgets(tmpStr, MAX_STR, in) == NULL) {
printf("Failed to read battery capacity!\n");
fclose(in);
return GET_BATTERYCAPACITY_ERR;

}

printf("Battery capacity(ascii): %s\n", tmpStr);
fclose(in);

return 0;//atoi(tmpStr);
}

static int vt_set_graphicsmode(int graphics)
{
int fd, r;
fd = open(DEV_TTY0_PATH, O_RDWR | O_SYNC);
if (fd < 0)
return DISPLAY_ERROR;
r = ioctl(fd, KDSETMODE, graphics);
close(fd);
return r;
}

int display_init(void)
{
fb.fd = open(FB_GRAPHICS_PATH, O_RDWR);
if (fb.fd < 0)
return DISPLAY_ERROR;

if (ioctl(fb.fd, FBIOGET_FSCREENINFO, &fb.fixed) < 0)
return DISPLAY_ERROR;
if (ioctl(fb.fd, FBIOGET_VSCREENINFO, &fb.var) < 0)
return DISPLAY_ERROR;
fb.align_xres = fb.fixed.line_length /
(fb.var.bits_per_pixel >> BYTE_PER_PIXEL);

fb.pixels = mmap(0, fb.fixed.line_length * fb.var.yres_virtual,
PROT_READ | PROT_WRITE, MAP_SHARED, fb.fd, 0);
if (fb.pixels == MAP_FAILED)
return DISPLAY_ERROR;

vt_set_graphicsmode(KD_GRAPHICS);

memset(fb.pixels, 0, fb.fixed.line_length * fb.var.yres_virtual);
//display_update(fb.pixels, fb.align_xres, fb.var.yres);
fb.var.activate = FB_ACTIVATE_FORCE;
ioctl(fb.fd, FBIOPUT_VSCREENINFO, &fb.var);

printf("display_init ok\n");

return DISPLAY_SUCCESS;
}

void display_on(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_UNBLANK);
}

void display_off(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_POWERDOWN);
}

int main()
{
display_init();
display_off();//關顯示屏

getBatteryCapacity();
sleep(5);

display_on();//開顯示屏

return 0;
}

『捌』 如何將android studio整個工程編譯成aar

要輸出aar文件,必須將Mole配置為library,在gradle文件中如下:輸出aar:applyplugin:'com.android.library';輸出apk:applyplugin:'com.android.application'。將Mole配置為library後,構建輸出一個aar文件,根據渠道和BuildType的不同,在相應的目錄下可以找到。比如對BuildType為debug的配置,輸出為:[MoleName]/build/outputs/aar/[MoleName]-debug.aar。一份aar文件其實就是一份zip包,和jar不同的是,它將一些資源文件、第三方庫文件、so文件等等都打包在內,而代碼文件編譯後壓縮在在classes.jar中。比如:3、導入aar的方式引用這種方式比較簡單,打開ProjectStructure,添加一個新Mole,然後選擇Import*.JARor*.AARPackage的方式導入:導入後,在你的工程下面,會生成一個文件夾,裡面是aar文件以及AndroidStudio的配置文件。接著可以在gradle中配置依賴了,其他Mole可以引用這個Mole了,依賴方式使用compileproject的方式即可。缺點:被依賴的aar無法F3跟進去,無法看到資源文件內容以及目錄層級等等缺陷。4、使用配置依賴的方式引用gradle其實還有另一種依賴可以引用aar:compile(name:'xxx',ext:'aar')。首先需要將aar文件放入引用Mole的libs目錄下,和一般的jar文件類似。然後在gradle配置文件中把libs目錄加入依賴:?12345repositories{flatDir{dirs'libs'}}接著在gradle的依賴配置中加入compile(name:'xxx',ext:'aar')這一句,依賴即可關聯完畢。構建一下工程,在Mole的build/intermediates/exploded-aar目錄下,可以看到有一些臨時文件生成:看起來完全是引用aar的解壓版本。AndroidStudio安裝反編譯插件後,可以通過F3跟進到class文件裡面,如果你有被依賴Mole的源代碼的話,還可以AttachSource關聯源代碼查看。另外,可以很方便的查看aar中的資源文件。另外,這種依賴方式更新aar後,生成的臨時文件也會隨之變動,不用擔心改動不同步的問題。

『玖』 【Android開發學Flutter】Xcode編譯問題匯總

Xcode編譯經常遇到各種問題,處理起來費時費力,挺打擊學習積極性的。記錄下這些問題,方便自己也幫助後來人。

編譯的時候遇到:

網上有很多解決方法,我是用這個方法解決的:

編譯的時候遇到:

解決辦法:
Project -> User-Defined -> FLUTTER_ROOT 改成本地 flutter SDK路徑

感謝 issues 上的小哥,給你個🚀

在項目目錄下執行 flutter run 可以正常運行到手機,但是在Xcode build 還是有問題。

這時需要手動添加 FLUTTER_ROOT User-Defined

添加之後:

就可以正常在Xcode build 安裝到手機了。

flutter build ios 後出現:

pod install 後出現:

解決辦法:
這是因為terminal沒有走代理的流量,
使用 git config --global http.proxy "localhost:port" ,設置代理。
port是埠號,根據不同的vpn不一樣,我的埠是10080。
執行 git config --global http.proxy "localhost:10080"

Xcode build 的時候出現:

解決辦法:打開 ios/Podflie 文件:

關於 bitcode 的問題,我檢查了下用到的第三方SDK,應該是網路地圖的問題,我引入了個第三方插件(吐槽下沒官方插件),網路地圖有支持和不支持 bitcode 的兩個SDK,我取消這個插件就沒有報這個錯了,奇怪的是,再次引入同一個插件,也可以正常打包,所以說這個問題還沒有完全解決。
大家可以試下這個處理方法:

TARGETS -> Build Seettings 搜 arm ,試一下把其他刪除,只留下armv7跟armv7s或者只留下armv7

解決辦法:
https://www.jianshu.com/p/201df7e9a52f

我是clean Xcode之後就可以了

解決辦法:
用的是P12證書,改成手動簽名:

『拾』 如何搭建android源碼編譯環境搭建

分為五個步驟來完成Android開發環境的搭建。


第一步:安裝JDK。

要下載Oracle公司的JDK可以網路「JDK」進入Oracle公司的JDK下載頁面,選擇自己電腦系統的對應版本即可。


第二步:配置Windows上JDK的變數環境 。

JAVA_HOME

先設置這個系統變數名稱,變數值為JDK在電腦上的安裝路徑:C:Program FilesJavajdk1.8.0_20。創建好後則可以利用%JAVA_HOME%作為JDK安裝目錄的統一引用路徑。

Path

PATH屬性已存在,可直接編輯,在原來變數後追加:;%JAVA_HOME%in;%JAVA_HOME%jrein 。

CLASSPATH

設置系統變數名為:CLASSPATH 變數值為:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar 。

注意變數值字元串前面有一個"."表示當前目錄,設置CLASSPATH的目的,在於告訴Java執行環境,在哪些目錄下可以找到所要執行的Java程序所需要的類或者包。



第三步: 下載安裝Eclipse(已上傳附件,電腦打開可下載)。

Eclipse為Java應用程序及Android開發的IDE(集成開發環境)。Eclipse不需要安裝,下載後把解壓包解壓後,剪切eclipse文件夾到你想安裝的地方,打開時設置工作目錄即可。



第四步:下載安裝Android SDK 。

配置了JDK變數環境,安裝好了Eclipse,這個時候如果只是開發普通的JAVA應用程序,那麼Java的開發環境已經准備好了。要通過Eclipse來開發Android應用程序,那麼需要下載Android SDK(Software Development Kit)和在Eclipse安裝ADT插件,這個插件能讓Eclipse和Android SDK關聯起來。


第五步:為Eclipse安裝ADT插件。

前面已經配置好了java的開發環境,安裝了開發Android的IDE,下載安裝了Android SDK,但是Eclipse還沒有和Android SDK進行關聯,也就是它們現在是互相獨立的,就好比槍和子彈分開了。為了使得Android應用的創建,運行和調試更加方便快捷,Android的開發團隊專門針對Eclipse IDE定製了一個插件:Android Development Tools(ADT)。


閱讀全文

與androidfaac編譯相關的資料

熱點內容
pythonjavascript對比 瀏覽:740
什麼動漫app是大陸字幕 瀏覽:286
android查看activity棧 瀏覽:918
x86固件編譯 瀏覽:165
安卓下什麼可以看微博動圖 瀏覽:412
永輝生活app注冊有什麼優惠嗎 瀏覽:411
行偏移演算法 瀏覽:240
什麼app也能讓wifi增強 瀏覽:178
雙分錄核演算法反映什麼 瀏覽:210
ubuntuphpaptget 瀏覽:256
安卓手機快充需要什麼數據線 瀏覽:795
程序中存在未轉換未編譯部分 瀏覽:323
編譯匯編鏈接優化 瀏覽:83
程序員打字和作家哪個打字快 瀏覽:579
安卓手機怎麼用cad命令行 瀏覽:385
2200工程機接收命令瞬間消失 瀏覽:255
壓縮機工藝管是多大的 瀏覽:314
安卓刷什麼系統穩定 瀏覽:37
程序員寫炫酷代碼 瀏覽:933
大話存儲pdf 瀏覽:526