2013-05-01 51 views
0

我有一個Android應用程序,我的客戶端請求將其作爲SDK打包。 SDK應該用SDK.open({parameters})之類的東西調用,將會打開一個新的活動並允許關閉它自己。如何將Android應用程序作爲SDK製作

不用說,SDK應該被編譯並且只有它的接口向公衆開放。

P.S - 如果有任何影響,該項目也使用NDK。

我不知道從哪裏開始 - 幫助將不勝感激:)

編輯: 真正需要的是要利用現有的活動,與所有它的資產,「資源」文件夾,NDK代碼更多 - 幷包裝成「東西」,可以合併到任何其他應用程序和需要調用。當需要時,它應該能夠關閉自己並返回到調用它的原始應用程序,釋放它的所有內存。

謝謝

+0

sdk停留在軟件開發工具包上,代碼在人們創建自己的代碼時,就像使用java做的一樣。可能你正在尋找與SDK不同的東西。 – Blackbelt 2013-05-01 13:11:44

+0

你的意思是你想要一個其他應用程序可以調用的公共意圖?這聽起來更像你所需要的。 – 2013-05-01 13:13:59

+1

請與知道他在說什麼的客戶談談,而不是經理...... – RvdK 2013-05-01 13:14:58

回答

0

過去,我已經從同一個庫中構建了應用程序。您可以運行Activitys以及庫中可能需要的任何內容,並將其掛接到其他應用程序中。例如,如果你看看this appthis app,它們看起來幾乎是相同的,但它是因爲我爲這兩個庫使用了單個庫。要創建應用程序的新版本,我只需要一個啓動庫的單個活動。要自定義應用程序,我有一個類靜態的,我從與初始化應用的單個頁面設置的應用程序:

import com.mylibrarypackage.SplashScreen; 
import com.mylibrarypackage.util.Constants; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Typeface; 

public class NCC extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //Unique FacebookId 
     Constants.facebookId = "xxx"; 

     //Unique Twitter Keys 
     Constants.consumerKey = "xxx"; 
     Constants.consumerSecret = "xxx"; 

     //Flurry Key 
     Constants.flurryKey ="xxx"; 

     //Font name 
     Constants.fontName = "MuseoSans.ttf"; 
     Constants.boldfontName = "MuseoSans_500.ttf"; 



     Intent intent = new Intent(this, SplashScreen.class); 
     startActivity(intent); 
     finish(); 

     setContentView(R.layout.splashscreen); 
    } 
} 

圖書館是一個非常好的方式來構建通用的應用程序。

+0

完美。這就是我一直在尋找的!謝謝 :) – Roman 2013-05-01 13:29:34

1

「SDK」代表軟件開發工具包。我非常懷疑你的客戶真正理解他所談論的內容,因爲APP不能被「打包成SDK」。

編輯:

任何人都可以發送意圖您出口活動,以便您需要什麼大都。設置exported="true",添加一些檢查,以便您的應用程序不會在發送破壞的意圖時崩潰,並且您應該準備好。取決於你的種子,你可能想要處理被稱爲startActivityForResults()。但這些都不會讓你的應用程序SDK

+0

需要採取一項活動並使其可在任何應用程序中啓動。該活動與NDK,資產和「res」文件進行交互。 – Roman 2013-05-01 13:20:26

+0

看到編輯的答案,然後 – 2013-05-01 13:30:43

+0

我想他想包括他的應用程序的部分作爲獨立,以便用戶不必安裝這兩個應用程序。就像[ACRA](http://acra.ch/)庫... – tilpner 2013-05-01 13:32:48

0

將它作爲library project

您將需要將其打包爲一個獨立的.jar文件。像this。 您可以將編譯的代碼打包到.jar中,並在庫項目中擁有資源。這對你們來說都是一個很好的解決方案。

.apk文件實際上是一個.zip文件,就像一個.jar文件,因此您可以嘗試使用打包的.apk文件中的資源。

相關問題